【发布时间】:2018-05-02 01:49:26
【问题描述】:
我有一个使用map transformation 分析日志文件的代码。然后RDD 被转换为DF。
val logData = sc.textFile("hdfs://quickstart.cloudera:8020/user/cloudera/syslog.txt")
val logDataDF = logData.map(rec => (rec.split(" ")(0), rec.split(" ")(2), rec.split(" ")(5))).toDF("month", "date", "process")
我想知道在这种情况下我是否可以使用mapPartitions 而不是map。
【问题讨论】:
-
为什么需要映射分区?
-
如果您绝对需要使用 mapPartitions,简单的答案是转换回 RDD。但是,应该使用 DataFrames 而不是 RDD,因为 RDD-based API is likely to be removed in Spark 3.0.
-
其实没必要。我想知道是否有办法用 mapPartitions 重写这段代码。
标签: scala apache-spark