TiSpark を使用してTiFlashレプリカを読み取る
このドキュメントでは、TiSpark を使用してTiFlashレプリカを読み取る方法を紹介します。
現在、TiSpark を使用して、TiDB のエンジン分離と同様の方法でTiFlashレプリカを読み取ることができます。このメソッドは、 spark.tispark.isolation_read_enginesパラメーターを構成することです。パラメータ値のデフォルトはtikv,tiflashです。これは、CBO の選択に従って、TiDB がTiFlashまたは TiKV からデータを読み取ることを意味します。パラメータ値をtiflashに設定すると、TiDB がTiFlashから強制的にデータを読み取ることを意味します。
ノート:
このパラメーターが
tiflashに設定されている場合、クエリに含まれるすべてのテーブルのTiFlashレプリカのみが読み取られ、これらのテーブルにはTiFlashレプリカが必要です。 TiFlashレプリカを持たないテーブルの場合、エラーが報告されます。このパラメーターをtikvに設定すると、TiKV レプリカのみが読み取られます。
このパラメーターは、次のいずれかの方法で構成できます。
spark-defaults.confファイルに次の項目を追加します。spark.tispark.isolation_read_engines tiflashSpark シェルまたは Thriftサーバーを初期化するときに、初期化コマンドに
--conf spark.tispark.isolation_read_engines=tiflashを追加します。リアルタイムで Spark シェルに
spark.conf.set("spark.tispark.isolation_read_engines", "tiflash")を設定します。サーバーがビーライン経由で接続された後、Thriftサーバーに
set spark.tispark.isolation_read_engines=tiflashを設定します。