0
私はマージ形式でS3にあるデータをpysparkを使ってaws redshiftにロードしようとしています。私はこれを行うことができますが、テーブル定義内の列のエンコーディングを見ると一貫しています。私はそれを一貫して作りたいと思っています。特に私はそれらのすべてをlzoにしたいと思います。以下は、不一致のある単一テーブルのデータ型のリストです。PySparkからRedshiftにデータをロードするときに列エンコーディングを実行する方法
+-------------------------------+-------------------+
| data_type | encoding |
+-------------------------------+-------------------+
| bigint | delta |
| bigint | delta32k |
| character varying(256) | lzo |
| bigint | runlength |
| bigint | bytedict |
| timestamp without time zone | bytedict |
| integer | runlength |
+-------------------------------+-------------------+
pysparkでこれを実行する方法を教えてもらえますか?火花redshift_2.10:私はcom.databricksの列エンコーディングのいずれかのオプションが表示されない1.0.0
x.write.format("com.databricks.spark.redshift")
.option("url","jdbc:redshift://<url>:<port>/<schema>?user=<user>&password=<pass>")
.option("dbtable","<tbl_nm>")
.option("diststyle","KEY").option("distkey","<key>")
.option("sortkeyspec","SORTKEY(<sort1>)")
.option("tempdir","<path>")
.mode("error").save()