我是Spark的新手。我正在尝试使用以下格式解析非结构化数据。
整个数据集都在一行中。
每行/记录由特殊字符〜$ | 分隔,记录的每一列均由制表符空格分隔。
那么我该如何解析并将其转换为数据帧?
DF2[[2]][1] <- DF1[[2]][nrow(DF1)]
答案 0 :(得分:1)
使用spark.read.text()
方法和“进入”选项保留您的自定义 lineSep
spark.read.option("lineSep", '~$|').text('<filepath>').withColumn("value",regexp_replace(col("value"),'\n','')).show()
#+------------------+
#| value|
#+------------------+
#| Raj India 1000 |
#| John Canada 2000 |
#| Steve USA 3000 |
#| Jason USA 4000|
#+------------------+
一旦创建数据框,然后使用split
,.getItem
函数在值列上使用 element_at
函数为数据框创建新列。