Apache spark 固定长度文件读取Spark,一次读取多个记录格式

Apache spark 固定长度文件读取Spark,一次读取多个记录格式,apache-spark,apache-spark-sql,fixed-width,Apache Spark,Apache Spark Sql,Fixed Width,全部, 我试图在spark中读取具有多种记录类型的文件,但不知道如何读取。。如果有办法的话,有人能指出吗?还是一些现有的软件包?或者一些用户git包 下面的示例-我们有一个文本文件,其中包含2个单独的(可能多于2个)记录类型: 00X-记录姓名 0-3 record_ind 4-10 firstname 11-16 lastname ============================ 00Y - record_ind | Account_#| STATE | country 0-3 rec

全部,

我试图在spark中读取具有多种记录类型的文件,但不知道如何读取。。如果有办法的话,有人能指出吗?还是一些现有的软件包?或者一些用户git包

下面的示例-我们有一个文本文件,其中包含2个单独的(可能多于2个)记录类型: 00X-记录姓名

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         

实现这一点的一种方法是将数据作为“文本”加载。完整的行将加载到一个名为“value”的列中。现在调用一个UDF,它根据条件修改每一行,并以所有行都遵循相同模式的方式转换数据。
最后,使用schema创建所需的数据帧并保存到数据库中。

如果可以使用记录类型来区分不同类型的pf行,我们甚至可能不需要UDF。假设我们知道哪个记录类型有哪些列的值,我们可以根据记录类型进行过滤,并进行必要的转换以获得正确的表格式。