我的输入设置如下所示:
100,Jack,CEO,10000,IT
101,John,CEO,20000,CS
Run Code Online (Sandbox Code Playgroud)
我想分割每一行并使用spark中的现有api打印所有列.
JavaRDD<Object> splitRdd = textFileRDD.map(x -> x.split(","));
Run Code Online (Sandbox Code Playgroud)
如何迭代并打印所有值
因此,如果您在实际的分布式环境(具有许多计算机的群集)中运行,则需要先调用collect,然后调用println收集的结果.否则它将被简单地打印到群集的不同机器上的stdout,您将不会在驱动程序上看到它.如果您只在本地运行,则可以使用,foreach因为所有内容都将写入同一个标准输出.
在群集上的Spark-shell中,我会这样做:
textFileRDD.map(line => line.split(",")).collect.foreach(array => println(array.mkString(",")))
Run Code Online (Sandbox Code Playgroud)
这将输出:
100,Jack,CEO,10000,IT
101,John,CEO,20000,CS
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1033 次 |
| 最近记录: |