我找到了一個辦法我需要什麼,我可以把這個應用到任何固定寬度的文件。將分享對於那些試圖做同樣的事情。
我完成這個在筆記本裏,並將解釋Python代碼:
進口dlt pyspark.sql進口。函數作為f#模式定義模式= {header_1: {“idx”: 1、“蘭”:9},“header_2”: {“idx”: 10“蘭”:9},“header_3”: {“idx”: 20,“蘭”:9},“header_n”: {“idx”: 30,“蘭”:x}}
“創建三角洲住表使用sql函數調整數據,把input_file_name()和current_timestamp ()“‘@dlt。表def表名():df = spark.read.text返回df (“folder_containing_data”)。選擇(*(λx: F.trim (df.value地圖。substr(模式[x] [' idx '],模式[x][‘蘭’])).alias (x)模式)。withColumn (source_file F.lit (F.input_file_name ()))。withColumn (processing_time F.lit (F.current_timestamp ()))