我有一个使用Spark生成的RDD.现在,如果我将此RDD写入csv文件,我将获得一些方法,如"saveAsTextFile()",它将csv文件输出到HDFS.
我想将文件写入我的本地文件系统,以便我的SSIS进程可以从系统中选择文件并将它们加载到数据库中.
我目前无法使用sqoop.
除了编写shell脚本之外,它是否可以在Java中实现.
如果需要清晰,请告知.
我有一个固定列数的数据帧df1.我已将内连接应用于另一个数据帧df2.
但是,在写入选择时,我需要选择一些我目前无法使用的常数.
我已经阅读了scala中的示例,但相应的java无效.
df1.join(df2).filter(df1.col("a1").$eq$eq$eq(df2.col("a1")))
.select(df1.col("a1"), df1.col("a2"), df2.col("a2"), 8)
Run Code Online (Sandbox Code Playgroud)
建议一种选择8的方法,如上例所示.
我也知道withColumnapi但不确定实现.
谢谢.
确定一个分区:
mapPartitionsWithIndex(index, iter)
Run Code Online (Sandbox Code Playgroud)
该方法导致在每个分区上驱动一个函数。我知道我们可以使用“index”参数来跟踪分区。
许多示例都使用此方法使用“index = 0”条件删除数据集中的标题。但是我们如何确保读取的第一个分区(翻译,“index”参数等于 0)确实是标题。如果使用,它是随机的还是基于分区器的。