Inserting data into tables with static columns using Spark SQL
Static columns are mapped to different columns in Spark SQL and require special handling.
Static columns are mapped to different columns in Spark SQL and require special handling. Spark SQL Thrift servers use Hive. When you when run an insert query, you must pass data to those columns.
To work around the different columns, set
cql3.output.query
in the insertion
Hive table properties to limit the columns that are being inserted. In Spark SQL, alter the
external table to configure the prepared statement as the value of the Hive CQL output query.
For example, this prepared statement takes values that are inserted into columns a and b in
mytable
and maps these values to columns b and a, respectively, for
insertion into the new row.
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');