我在OLTP / OLAP处理后收到两个数据集,虽然这两个数据集包含相同的字段,但在获取相同字段时,它们的架构会有所不同,例如字段为Null或Not Null。
详细解释说我有df1和df2。
df1 has field 'a' long with not null
df2 has field 'a' long with null
现在,当我在做unionAll时,我正在修改其中一个模式
val x = df1.sqlContext.createDataFrame(df1.rdd, df2.schema)
x.unionAll(df2)
o/p : Job execution goes on hang
另一次尝试
df1.sqlContext.createDataFrame(df1.rdd, df2.schema)
df1.unionAll(df2)
o/p : Here also Job execution goes on hang
请让我知道如何避免这个问题,或者我做错了什么。
〜PRASHANT
答案 0 :(得分:0)
我经历过同样的事情。检查unionAll之前和之后的分区数。您可以看到此计数可能是df1 + df2,因为操作是连接行'。您可以像这样重新分区数据:
{{1}}
有关分区的详细信息,请参阅How to define partitioning of DataFrame?。