读取多个固定宽度的文件并逐个进行处理

2024-10-02 16:34:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我在HDFS目录中有多个固定宽度的文件,我想逐个读取这些文件。我在pyspark中开发的代码适用于单个文件。你知道吗

你知道吗代码:-你知道吗

    *df = sqlContext.read.text("/user/XXX/PBM_TAIL/FILE.PROD.TM234908_TAIL.txt")

*parexp1 = df.select(
        df.value.substr(1,2).alias('TLR_RECORD_TYPE'),
        df.value.substr(3,10).cast('integer').alias('TLR_TOTAL_RECORD_COUNT'),
        df.value.substr(13,12).alias('TLR_TOTAL_NET_AMOUNT_DUE')
       )*

    parexp1.registerTempTable("parexp2")
    parexp3 = sqlContext.sql("""
                                select TLR_RECORD_TYPE,
                                       TLR_TOTAL_RECORD_COUNT,
                                       TLR_TOTAL_NET_AMOUNT_DUE,
                                       reverse(split(reverse(input_file_name()),'/')[0]) as File_Name,
                                       udfFormatAmt(TLR_TOTAL_NET_AMOUNT_DUE) as TLR_TL_REC_CNT_CNV
                                       from parexp2 

                                            """)*

如何将上述代码转换为逐个读取多个文件并按数据帧分别处理。我真的很感谢你的帮助


Tags: 文件代码dfnetvaluealiasrecordamount