从spark插入到群集配置单元表

时间:2018-02-27 09:55:13

标签: hive pyspark bigdata

我试图对数据存储进行一些性能优化。我们的想法是使用hive的bucketing / clustering来存储可用的设备(基于列id)。我目前的方法是将基于镶木地板文件的外部表格中的数据插入到表格中。因此,它应用了分组。

INSERT INTO TABLE bucketed_table PARTITION (year, month, day)
SELECT id, feature, value, year, month, day
FROM parquet_table ;

我想通过直接从PySpark 2.1直接将数据摄取到该表中来消除这一步骤。 使用SparkSQL执行相同的语句会导致不同的结果。按子句添加集群

 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语句进行编写是否能够使hive Metastore对数据产生好处?

1 个答案:

答案 0 :(得分:0)

我尚不支持该功能。我当前使用的是Spark 2.3,它失败了,而不是成功和破坏了您的数据存储。

如果要跟踪吉拉机票here的进度,请结账