如何解决固定长度文件一次读取具有多种记录格式的Spark
全部
我试图在Spark中读取具有多种记录类型的文件,但不知道如何执行。有人可以指出,如果有办法的话?或一些现有的软件包?或一些用户的git包
下面的示例-我们有一个文本文件,其中记录类型为2个(可能大于2个): 00X-record_ind |名|姓氏
0-3 record_ind
4-10 firstname
11-16 lastname
============================
00Y - record_ind | Account_#| STATE | country
0-3 record_ind
4-8 Account #
9-10 STATE
11-15 country
input.txt
------------
00XAtun Varma
00Y00235ILUSA
00XDivya Reddy
00Y00234FLCANDA
sample output/data frame
output.txt
record_ind | x_First_name | x_Last_name | y_Account | y_STATE | y_country
---------------------------------------------------------------------------
00x | Atun | Varma | null | null | null
00y | null | null | 00235 | IL | USA
00x | Divya | Reddy | null | null | null
00y | null | null | 00234 | FL | CANDA
解决方法
一种实现此目的的方法是将数据加载为“文本”。完整的行将被加载到名为“值”的一列中。现在调用一个UDF,它会根据条件修改每一行,并以所有行都遵循相同模式的方式转换数据。 最后,使用模式创建所需的数据框并保存在数据库中。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。