静的カラムを含むテーブルへのSpark SQLを使用したデータの挿入

静的カラムはSpark SQLでは異なるカラムにマッピングされるため、特別な取り扱いが必要です。

静的カラムはSpark SQLでは異なるカラムにマッピングされるため、特別な取り扱いが必要です。Spark ThriftサーバーはHiveを使用します。挿入クエリーを実行するときは、データをこれらのカラムに渡す必要があります。

異なるカラムに対処するには、挿入hiveテーブル・プロパティでcql3.output.queryを設定し、挿入するカラムを制限します。Spark SQLで、外部テーブルを変更し、プリペアド・ステートメントをHive CQL出力クエリーの値として構成します。たとえば、次のプリペアド・ステートメントはmytable内の列aおよびbに挿入される値を受け取り、これらの値をカラムbおよびaにそれぞれマッピングして、新しい行に挿入できるようにします。
spark-sql> ALTER TABLE mytable SET TBLPROPERTIES ('cql3.output.query' = 'update
mykeyspace.mytable set b = ? where a = ?'); 
spark-sql> ALTER TABLE mytable SET SERDEPROPERTIES ('cql3.update.columns' =
'b,a');