2

我正在将 Azure Databricks 中的数据帧写入 sql 数据仓库

res.write \
    .format("jdbc") \
    .option("url", url) \
    .option("dbtable", table) \
    .option("user", user) \
    .option("password", password) \
    .save()

有了这个我得到一个错误Column 'username' has a data type that cannot participate in a columnstore index.

如何完全消除列存储,或更改列的数据类型以适应列存储?

我有一些列将被视为整数,而一些列将被视为 varchar。

4

1 回答 1

4

将此选项子句添加到您的 write 语句中。它取代了 CREATE TABLE (AS) 语句的 with() 子句:

.option ("tableOptions","heap,distribution=MY_DISTRIBUTION")

参考在这里:

https://docs.databricks.com/spark/latest/data-sources/azure/sql-data-warehouse.html

根据以下指导为 MY_DISTRIBUTION 选择一个值:

https://docs.microsoft.com/en-us/azure/sql-data-warehouse/sql-data-warehouse-tables-distribute

于 2018-10-30T03:35:54.617 回答