TiSparkを使用してTiFlashレプリカを読み取る
このドキュメントでは、TiSpark を使用してTiFlashレプリカを読み取る方法を紹介します。
現在、TiSpark は TiDB のエンジン分離と同様の方法でTiFlashレプリカを読み取ることができます。この方法は、パラメータspark.tispark.isolation_read_engines設定することです。パラメータ値はデフォルトでtikv,tiflashに設定されており、これは TiDB が CBO の選択に応じてTiFlashまたは TiKV からデータを読み取ります。パラメータ値をtiflashに設定すると、TiDB は強制的にTiFlashからデータを読み取ることを意味します。
注記:
このパラメータを
tiflashに設定すると、クエリに関係するすべてのテーブルのTiFlashレプリカのみが読み取られます。これらのテーブルにはTiFlashレプリカが必要です。TiFlashTiFlashを持たないテーブルの場合はエラーが報告されます。このパラメータを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")リアルタイムで設定します。サーバーがbeeline 経由で接続された後、Thriftサーバーに
set spark.tispark.isolation_read_engines=tiflash設定します。