我是新来的。我试图用以下格式解析非结构化数据。整个数据集都在一行中。每一行/记录由一个特殊字符~$|分隔,记录的每一列由制表符分隔。那么我如何解析它并将其转换为Dataframe呢?
Raj India 1000 ~$| John Canada 2000 ~$| Steve USA 3000 ~$| Jason USA 4000
kh212irz1#
使用 spark.read.text() 方法和选项保持您的自定义 lineSep ```spark.read.option("lineSep", '~$|').text('').withColumn("value",regexp_replace(col("value"),'\n','')).show()
spark.read.text()
lineSep
一旦创建了Dataframe,就可以使用 `split` 函数对value column创建Dataframe的新列,使用 `.getItem` , `element_at` 功能。
1条答案
按热度按时间kh212irz1#
使用
spark.read.text()
方法和选项保持您的自定义lineSep
```spark.read.option("lineSep", '~$|').text('').withColumn("value",regexp_replace(col("value"),'\n','')).show()
+------------------+
| value|
+------------------+
| Raj India 1000 |
| John Canada 2000 |
| Steve USA 3000 |
| Jason USA 4000|
+------------------+