我有一个简单的问题。
“如何读取具有固定记录长度的文件?”我在记录名称和记录中有2个字段。状态。
档案数据 -
John OHIO
VictorNEWYORK
罗恩加利福尼亚
文件布局 -
名称字符串(6);
State String(10);
我只想阅读它并从该文件创建一个DataFrame。只是为了详细说明“固定记录长度” - 如果你看到“OHIO”是4个字符长度,在文件中它填充了6个尾随空格“OHIO”
此处的记录长度为16。
谢谢, SID
答案 0 :(得分:0)
阅读输入文件:
val rdd = sc.textFile('your_file_path')
然后使用子字符串拆分字段,然后使用toDF()将RDD转换为Dataframe。
val df = rdd.map(l => (l.substring(0, 6).trim(), l.substring(6, 16).trim()))
.toDF("Name","State")
df.show(false)
结果:
+------+----------+
|Name |State |
+------+----------+
|John |OHIO |
|Victor|NEWYORK |
|Ron |CALIFORNIA|
+------+----------+