当前位置: 首页 > 知识库问答 >
问题:

从spark插入群集配置单元表

孟和玉
2023-03-14

我试图做一些性能优化的数据存储。这个想法是使用蜂巢的巴克特/集群来桶可用的设备(基于列id)。我目前的方法是从外部表插入数据到表中的拼花文件。结果它应用了巴克特。

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

我想通过直接从PySpark 2.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个答案

子车英达
2023-03-14

我认为目前还没有人支持它。我目前正在使用Spark 2.3,但它失败了,而不是成功地破坏了您的数据存储。

如果你想追踪jira的进展,请在这里签出它

 类似资料:
  • 我试图从Spark Sql将数据插入到Hive外部表中。我通过以下命令创建了hive外部表 在spark工作中,我编写了以下代码Dataset df=session。read()。选项(“标题”、“真”)。csv(csvInput); 每次运行这段代码时,我都会遇到以下异常

  • states是按国家分区的,所以当我对上面的数据集进行计数时,查询会扫描所有分区。但是如果我这样读的话- 分区被正确修剪。有人能解释为什么当您将表映射到case类时会丢失分区信息吗?

  • 我有一个文件名、FilePath和FileSize的列表,我想使用spark SQL将这些细节插入到我的配置单元表中。 是否有任何方法可以再次将此查询拆分为3个不同的insert hive语句。

  • 我正在使用Spark SQL读取一个配置单元表,并将其分配给一个scala val 有什么方法可以绕过这个错误吗?我需要将记录插入到同一个表中。 嗨,我试着按建议做,但仍然得到同样的错误。

  • File3可以是 如何将配置单元表修改为我将与文件一起接收的列。

  • 嗨,我是Hive的新手,我想把当前的时间戳和一行数据一起插入到我的表中。 我得到的错误是: 如果有人能帮忙,那就太好了,非常感谢frostie