调整从 txt 到 parquet 的列
Adjusting columns from txt to parquet
这是我第一次尝试将 txt 文件转换为 parquet 格式,请耐心等待。
我有一个 txt 文件,原来是这样的:
id|roads|weights
a01|1026|1172|1
a02|DT:SR:0|2|NE|DT:SR:1|2|NE|1
b01|DT:SR:1|7|SW|1
我想把它变成这样的镶木地板格式:
+---+-------------------------+-------+
|id |roads |weights|
+---+-------------------------+-------+
|a01|1026|1172 |1 |
|a02|DT:SR:0|2|NE|DT:SR:1|2|NE|1 |
|b01|DT:SR:1|7|SW |1 |
到目前为止,我已经将我的 txt 文件上传到 HDFS,并尝试使用 spark 将其转换为 parquet 格式:
val textfile = spark.read.text("hdfs:some/path/file.txt")
textfile.write.parquet("some.parquet")
val parquetfile = spark.read.parquet("hdfs:some/path/some.parquet")
但我的列名现在被视为一行,所有内容都放在一起作为称为“值”的单个列。
如有任何帮助,我们将不胜感激!
read.text 加载文本文件和 returns 一个名为“value”的列。您可以使用 read.csv 读取分隔文件。下面的代码应该为你工作。
val textFile=spark.read.option("delimiter","|").option("header",true).csv("hdfs:some/path/file.txt")
textFile.write.parquet(parquet_file_path)
这是我第一次尝试将 txt 文件转换为 parquet 格式,请耐心等待。
我有一个 txt 文件,原来是这样的:
id|roads|weights
a01|1026|1172|1
a02|DT:SR:0|2|NE|DT:SR:1|2|NE|1
b01|DT:SR:1|7|SW|1
我想把它变成这样的镶木地板格式:
+---+-------------------------+-------+
|id |roads |weights|
+---+-------------------------+-------+
|a01|1026|1172 |1 |
|a02|DT:SR:0|2|NE|DT:SR:1|2|NE|1 |
|b01|DT:SR:1|7|SW |1 |
到目前为止,我已经将我的 txt 文件上传到 HDFS,并尝试使用 spark 将其转换为 parquet 格式:
val textfile = spark.read.text("hdfs:some/path/file.txt")
textfile.write.parquet("some.parquet")
val parquetfile = spark.read.parquet("hdfs:some/path/some.parquet")
但我的列名现在被视为一行,所有内容都放在一起作为称为“值”的单个列。
如有任何帮助,我们将不胜感激!
read.text 加载文本文件和 returns 一个名为“value”的列。您可以使用 read.csv 读取分隔文件。下面的代码应该为你工作。
val textFile=spark.read.option("delimiter","|").option("header",true).csv("hdfs:some/path/file.txt")
textFile.write.parquet(parquet_file_path)