复杂的RDD类型到简单的数组

时间:2019-06-16 07:04:41

标签: java sql arrays apache-spark join

当我写出复杂的RDD的每一行时,我都没有得到值。

由于现在我的类型是Array [(String,(Array [String],Array [String]))],因此我如何查看这些值,甚至将每一行都转换为数组。

scala> joined.foreach(println)
(8,([Ljava.lang.String;@2fe328b9,[Ljava.lang.String;@7df60197))
(8,([Ljava.lang.String;@7b74541e,[Ljava.lang.String;@7df60197))
(60,([Ljava.lang.String;@7c9f2683,[Ljava.lang.String;@4a8f6f49))
(60,([Ljava.lang.String;@7383536,[Ljava.lang.String;@4a8f6f49))
(60,([Ljava.lang.String;@5eb5556b,[Ljava.lang.String;@4a8f6f49))
(60,([Ljava.lang.String;@5b9bdb00,[Ljava.lang.String;@4a8f6f49))
(60,([Ljava.lang.String;@6adf021d,[Ljava.lang.String;@4a8f6f49))
(60,([Ljava.lang.String;@2c080bf5,[Ljava.lang.String;@4a8f6f49))
(60,([Ljava.lang.String;@58620d12,[Ljava.lang.String;@4a8f6f49))
(60,([Ljava.lang.String;@5da48ec5,[Ljava.lang.String;@4a8f6f49))

1 个答案:

答案 0 :(得分:0)

考虑“加入”是您的RDD:

public User getUserByUserId(long userId) {
        return userRepository.findById(userId);
    }

我想提出一个问题。当您遍历RDD(foreach)并调用println api时,实际上是在Executor(集群上的远程工作程序)上执行它。除非您以Local []模式运行,否则您不会在Master(驱动程序)控制台中看到这些打印。