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

樣本

NathanSundarara
貢獻者

python幫助解析JSON使用SQL或火花。示例json。

4回複4

匿名
不適用

@Nathan Sundararajan:

當然!這裏有一個例子如何使用Python解析JSON數據:

進口json #加載json數據從文件或字符串數據= {…}#你的JSON數據#解析JSON數據到一個Python對象obj = json.loads(數據)#使用Python語法訪問數據message_timestamp = obj (“messageTimestamp”) site_reference = obj (“siteReference”) update_count = obj (“updateCount”)更新= obj(“更新”)#迭代更新數組和訪問嵌套的數據更新在更新:event_timestamp =更新(“eventTimestamp”) spot_reference =更新(“spotReference”) spot_info =更新(“spotInfo”) vehicle_spot = spot_info vehicle_data = spot_info (“vehicleSpot”) (“vehicleData”) #根據需要訪問更多的嵌套數據……

另外,您還可以使用火花SQL解析JSON數據。這裏是使用一個例子

spark.read.json()方法:

從pyspark。sql導入SparkSession #創建一個火花= SparkSession.builder SparkSession對象。瀏覽器名稱(“JSON解析”).getOrCreate() #加載JSON數據從文件或字符串數據= {…}#你的JSON數據#從JSON數據創建一個DataFrame df = spark.read.json (sc.parallelize((數據)))#注冊DataFrame作為臨時視圖df.createOrReplaceTempView (json_data) #使用火花SQL語法查詢數據結果=火花。sql(“”“選擇messageTimestamp、siteReference updateCount,更新。eventTimestamp,更新。spotReference updates.spotInfo.vehicleSpot。externalReference updates.spotInfo.vehicleSpot。狀態,updates.spotInfo.vehicleData。externalReference updates.spotInfo.vehicleData。從json_data橫向視圖狀態爆炸(更新),更新“”)#顯示結果result.show ()

這個查詢選擇的一些字段從JSON數據和爆炸的更新數組到單獨的行。您可以根據需要修改查詢訪問或多或少的數據。

你能解釋一下如何去到一個數組的. .c3fieldstrings場結構內嗎?

“字段”:{

“c3FieldStrings”:(

{

“externalReference”:“4095”,

“名稱”:“阻塞點”

},

{

“externalReference”:“禁用”,

“名稱”:“禁用”,

“價值”:“假”

},

{

:“externalReference WorkflowVehicleSpot”,

“名稱”:“點”,

“價值”:“AA18_FL5”

},

{

:“externalReference WorkflowVMT”,

“名稱”:“WorkflowVMT”

},

NathanSundarara
貢獻者

@Suteja卡努裏人你能回答我以上的問題嗎?

匿名
不適用

@Nathan Sundararajan:下麵有幫助嗎?

data ={"字段":{“c3FieldStrings”: [{“externalReference”:“4095”,“名字”:“阻塞點”},{“externalReference”:“殘疾”、“名稱”:“禁用”,“價值”:“false”}, {“externalReference”:“WorkflowVehicleSpot”、“名稱”:“現貨”,“價值”:“AA18_FL5”}, {“externalReference”:“WorkflowVMT”、“名稱”:“WorkflowVMT”}]}} c3FieldStrings =數據(“字段”)(“c3FieldStrings”)

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

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

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

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

Baidu
map