我在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
""")*
如何将上面的代码转换为逐个读取多个文件并按数据帧单独处理。我非常感谢你的帮助