在Azure SQL数据仓库中禁用列存储

时间:2018-10-30 03:27:09

标签: azure databricks columnstore sql-data-warehouse

我正在使用以下方法将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。

1 个答案:

答案 0 :(得分:3)

将此选项子句添加到您的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