全部,
我试图读取spark中包含多种记录类型的文件,但不知道如何读取。。如果有办法的话,有人能指出吗?或者一些现有的软件包?或者一些用户git包
下面的例子-我们有一个文本文件,其中有2个单独的(可能不止2个)记录类型:00x-record|ind | first|u name | last|u name
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
1条答案
按热度按时间7uzetpgm1#
实现这一点的一种方法是将数据作为“文本”加载。完整的行将加载到名为“value”的列中。现在调用一个udf,它根据条件修改每一行,并以所有行都遵循相同模式的方式转换数据。最后,使用schema创建所需的Dataframe并保存到数据库中。