我试图做一些性能优化的数据存储。这个想法是使用蜂巢的巴克特/集群来桶可用的设备(基于列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语句进行编写是否能够在数据上实现配置单元元存储的好处?
我认为目前还没有人支持它。我目前正在使用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