1

我正在尝试按照此处的说明从 scala 代码中添加排序键:https ://github.com/databricks/spark-redshift

df.write
  .format(formatRS)
  .option("url", connString)
  .option("jdbcdriver", jdbcDriverRS)
  .option("dbtable", table)
  .option("tempdir", tempDirRS + table)
  .option("usestagingtable", "true")
  .option("diststyle", "KEY")
  .option("distkey", "id")
  .option("sortkeyspec", "INTERLEAVED SORTKEY (id,timestamp)")
  .mode(mode)
  .save()

排序键的实现是错误的,因为当我检查表信息时:

排序键 = INTERLEAVEDˇ

我需要正确的方法来添加排序键。

4

1 回答 1

0

执行没有错,错误来自它返回的“检查查询”

排序键 = 交错ˇ

这足以令人困惑,以至于认为发生了错误。

所以如果你需要检查交错的排序键,你应该运行这个查询:

select tbl as tbl_id, stv_tbl_perm.name as table_name, 
col, interleaved_skew, last_reindex
from svv_interleaved_columns, stv_tbl_perm
where svv_interleaved_columns.tbl = stv_tbl_perm.id
and interleaved_skew is not null;
于 2017-05-29T16:29:01.813 回答