从spark插入集群配置单元表

vxqlmq5t  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(204)

我正在尝试对数据存储进行性能优化。其思想是使用配置单元的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语句进行编写是否能够实现数据配置单元元存储的好处?

zaq34kh6

zaq34kh61#

我认为目前还没有人支持。我目前正在使用spark 2.3,但它失败了,而不是成功地破坏了数据存储。
如果你想追踪jira的进程,请在这里 checkout 它的票

相关问题