我们正在尝试使用两种不同的方法创建数据框。
环境:Spark 1.6.1
方法1:
JavaRDD<String> javardd = some function. <This will return json strings>
DataFrame df1= hiveCtx.read().json(javardd)
方法2:
JavaRDD<String> javardd = some function; <This will return json strings>
javardd.saveAsTextFile(path);
DataFrame df1= hiveCtx.read().json(path);
使用DataFrame df1,我们正在进行连接和其他复杂功能
使用 Method2 ,一切都运行得很好。
然而 Method1 会引发多个错误。 有时它是
java.io.IOException: Failed to send RPC
java.nio.channels.ClosedChannelException
我们有时会得到
org.apache.spark.sql.catalyst.errors.package: execute, tree:
TungstenAggregate(key=[xxxxx
如果我做错了,请告诉我。
注意:数据没有变化。这是相同的数据。 除了提到的内容之外,代码的下半部分没有变化。 环境没有变化。