在独立群集模式下运行Spark 2.0.2; 2个工作人员和1个主节点
简单测试;读取管道分隔文件并将数据写入csv。下面的命令在具有master-url设置的spark-shell中执行
val df = spark.sqlContext.read.option("delimiter","|").option("quote","\u0000").csv("/home/input-files/")
val emailDf=df.filter("_c3='EML'")
emailDf.repartition(100).write.csv("/opt/outputFile/")
在具有主URL设置的spark-shell中执行以上cmds之后。
在
worker1
中->每个零件文件都在/opt/outputFile/_temporary/task-xxxxx-xxx/part-xxx-xxx
中创建
在worker2
->/opt/outputFile/part-xxx
=>中,直接在写入期间指定的outputDirectory下生成零件文件。
coalcece(100)或未指定重新分区/合并都发生了同样的事情!
Quesiton
1)为什么worker1
/opt/outputFile/
的输出目录没有part-xxxx
中的worker2
文件?为什么创建_temporary
目录并且part-xxx-xx
文件驻留在task-xxx
目录中?
2)是因为我没有在群集上安装HDFS
吗??