取消
顯示的結果
而不是尋找
你的意思是:

自動裝卸機和json

193801年
新的因素

你好,

我正在尋找幫助自動裝卸機。我有一些問題。在s3中我的目標是讀文件的位置和文件名,fileDate,文件內容在另一個表,表想把文件內容轉換成json結構和讀1或2的水平深度和讀表的值和鍵和拯救他們。這是實現在自動裝卸機的選擇。

我試著DLT但其保存元數據在我們的項目是不可接受的。

謝謝你的幫助

2回答2

匿名
不適用

@Neeharika Andavarapu:

是的,它是可以使用磚自動裝卸機的實現你的目標。您可以創建一個自動裝卸機工作讀S3中的文件位置,然後解析文件內容提取所需的信息並將其保存到兩個單獨的表中。

為了達到這個目標,你可以定義一個模式輸入文件並將其映射到目標表使用readStream函數在火花。然後,您可以使用from_json函數文件內容解析成一個JSON結構,提取所需的信息。

這是一個示例代碼演示了如何做到這一點:

從pyspark.sql。函數從pyspark.sql進口*。類型導入* #定義模式輸入文件模式= StructType ([StructField(“文件名”,StringType ()), StructField (“fileDate TimestampType ()), StructField (“fileContent StringType()))) #讀取輸入文件使用AutoLoader inputDF = spark.readStream.format (cloudFiles) \ .option (“cloudFiles。格式”、“json”) \ .option (“cloudFiles。在cludeExistingFiles", "true") \ .schema(schema) \ .load("s3://path/to/input/files") # Extract filename, fileDate, and file content to a separate table outputDF1 = inputDF.select("filename", "fileDate", "fileContent") outputQuery1 = outputDF1.writeStream.format("delta").option("checkpointLocation", "s3://path/to/checkpoint/location1").table("outputTable1") # Convert file content to JSON and extract information to a separate table jsonSchema = StructType([ StructField("key1", StringType()), StructField("key2", StructType([ StructField("subkey1", IntegerType()), StructField("subkey2", StringType()) ])) ]) outputDF2 = inputDF.select("filename", from_json("fileContent", jsonSchema).alias("jsonContent")) outputDF2 = outputDF2.select("filename", col("jsonContent.key1").alias("key1"), col("jsonContent.key2.subkey1").alias("subkey1"), col("jsonContent.key2.subkey2").alias("subkey2")) outputQuery2 = outputDF2.writeStream.format("delta").option("checkpointLocation", "s3://path/to/checkpoint/location2").table("outputTable2")

在這個例子中,inputDF表示輸入文件讀取使用自動裝卸機與指定的模式。

fileDate outputDF1提取文件名,文件內容到一個單獨的表,和outputDF2將文件內容轉換為JSON和提取所需的信息到另一個表中。的outputQuery1

和outputQuery2變量代表了三角洲表查詢寫數據輸出。

注意,JSON模式應該匹配您的輸入文件的結構,你可能需要調整根據你的要求。同樣,你需要提供適當的值checkpointLocation和表選項在編寫三角洲表的數據。

我希望這可以幫助!讓我知道如果你有任何進一步的問題。

Vidula_Khanna
主持人
主持人

嗨@Neeharika Andavarapu

謝謝你發布你的問題在我們的社區!我們很高興幫助你。

幫助我們為您提供最準確的信息,請您花一些時間來回顧反應和選擇一個最好的回答了你的問題嗎?

這也將有助於其他社區成員可能也有類似的問題在未來。謝謝你的參與,讓我們知道如果你需要任何進一步的援助!

歡迎來到磚社區:讓學習、網絡和一起慶祝

加入我們的快速增長的數據專業人員和專家的80 k +社區成員,準備發現,幫助和合作而做出有意義的聯係。

點擊在這裏注冊今天,加入!

參與令人興奮的技術討論,加入一個組與你的同事和滿足我們的成員。

Baidu
map