小编Sum*_*t D的帖子

通过 sparkSQL 进行 Hive 分桶

我对蜂巢中的分桶有一个疑问。我创建了一个临时表,该表存储在列键上。

通过 spark SQL 我将数据插入到这个临时表中。我已在 spark 会话中启用 hive.enforce.bucketing 为 true。

当我检查这个表的基本目录时,它显示了以 part_* 为前缀的文件名。

但是,当我通过另一个表手动将数据插入该表时,我看到了前缀为 00000_* 的文件。

我不确定 spark sql 是否将数据写入桶中。

有人可以帮忙吗。

谢谢,

hive data-processing apache-spark apache-spark-sql

5
推荐指数
1
解决办法
3350
查看次数

如何在Spark中的partitionby方法中传递多列

我是 Spark 的新手。我想将数据帧数据写入配置单元表。Hive 表在多个列上进行分区。通过 Hivemetastore 客户端,我正在获取分区列,并将其作为数据帧 write 方法中 partitionby 子句中的变量传递。

var1="country","state" (Getting the partiton column names of hive table)
dataframe1.write.partitionBy(s"$var1").mode("overwrite").save(s"$hive_warehouse/$dbname.db/$temp_table/")
Run Code Online (Sandbox Code Playgroud)

当我执行上面的代码时,它给了我错误分区“国家”,“国家”不存在。我认为它将“国家”,“国家”作为一个字符串。

你能帮我一下吗。

apache-spark apache-spark-sql hive-metastore

4
推荐指数
1
解决办法
1万
查看次数