我正在尝试对数据存储进行性能优化。其思想是使用配置单元的bucketing/clustering来存储可用的设备(基于列id)。我当前的方法是将基于Parquet文件的外部表中的数据插入表中。因此,它适用于bucketing。
INSERT INTO TABLE bucketed_table PARTITION (year, month, day)
SELECT id, feature, value, year, month, day
FROM parquet_table ;
我想通过直接从pyspark2.1将数据摄取到表中来摆脱中间的这一步。使用sparksql执行相同的语句会导致不同的结果。添加cluster by子句
INSERT INTO TABLE bucketed_table PARTITION (year, month, day)
SELECT id, feature, value, year, month, day
FROM parquet_table cluster by id ;
仍然会导致不同的输出文件。
这导致了两个问题:1)从spark插入集群配置单元表的正确方法是什么?2) 使用clustered by语句进行编写是否能够实现数据配置单元元存储的好处?
1条答案
按热度按时间zaq34kh61#
我认为目前还没有人支持。我目前正在使用spark 2.3,但它失败了,而不是成功地破坏了数据存储。
如果你想追踪jira的进程,请在这里 checkout 它的票