【发布时间】:2017-11-08 04:35:05
【问题描述】:
我正在将 Spark 数据帧转换为 RDD[Row],以便将其映射到最终模式以写入 Hive Orc 表。我想将输入中的任何空间转换为实际的null,以便配置单元表可以存储实际的null 而不是空字符串。
输入数据框(单列,用竖线分隔值):
col1
1|2|3||5|6|7|||...|
我的代码:
inputDF.rdd.
map { x: Row => x.get(0).asInstanceOf[String].split("\\|", -1)}.
map { x => Row (nullConverter(x(0)),nullConverter(x(1)),nullConverter(x(2)).... nullConverter(x(200)))}
def nullConverter(input: String): String = {
if (input.trim.length > 0) input.trim
else null
}
有没有比调用 nullConverter 函数 200 次更干净的方法。
【问题讨论】:
标签: scala apache-spark spark-dataframe rdd