将 sortWithinPartitions 应用于 df 并将输出写入表后,我得到了一个结果,但我不知道如何解释。
df
.select($"type", $"id", $"time")
.sortWithinPartitions($"type", $"id", $"time")
Run Code Online (Sandbox Code Playgroud)
结果文件看起来有点像
1 a 5
2 b 1
1 a 6
2 b 2
1 a 7
2 b 3
1 a 8
2 b 4
Run Code Online (Sandbox Code Playgroud)
它实际上不是随机的,但也不像我期望的那样排序。即,首先按类型,然后是 id,然后是时间。如果我尝试在排序之前使用重新分区,那么我会得到我想要的结果。但由于某种原因,文件的重量增加了 5 倍(100GB 与 20GB)。
我正在向 hive orc 表写入数据,并将压缩设置为 snappy。
有谁知道为什么它是这样排序的,以及为什么重新分区会得到正确的顺序,但尺寸更大?
使用火花2.2。
我的桌子上有很多列。我不想写像
CREATE TABLE IF NOT EXISTS
table1(
col1 int,
col2 String,
etc....)
Run Code Online (Sandbox Code Playgroud)
有没有一种快速的方法来创建具有相同结构但没有任何数据的表?
我有2个选择语句.我和他们结合了.
select * from t1
union all
select * from t2
Run Code Online (Sandbox Code Playgroud)
我可以为结果添加别名吗?会有类似的东西
union all as t3
Run Code Online (Sandbox Code Playgroud)
工作?