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

如何創建三角洲住表從Json文件使用自定義模式嗎?我得到以下錯誤的附加代碼# org.apache.spark.sql錯誤。AnalysisException:表有一個指定的模式不兼容的模式

Abhradwip
新的貢獻者二世

# # # #代碼

# CodeImport數據類型

從pyspark.sql。類型進口StructType、StructField TimestampType、IntegerType StringType, FloatType, BooleanType LongType

#定義自定義模式

call_schema = StructType (

(

StructField (“RecordType StringType(),真的),

StructField (“SystemIdentity StringType(),真的),

StructField (“FileNum StringType(),真的),

StructField (“SwitchNum StringType(),真的),

StructField (“CallingNum StringType(),真的),

StructField (“CallingIMSI StringType(),真的),

StructField (“CalledNum StringType(),真的),

StructField (“CalledIMSI StringType(),真的),

StructField(“日期”,StringType(),真的),

StructField(“時代”,StringType(),真的),

StructField (“TimeType LongType(),真的),

StructField (“CallPeriod LongType(),真的),

StructField (“CallingCellID StringType(),真的),

StructField (“CalledCellID StringType(),真的),

StructField (ServiceType, StringType(),真的),

StructField(“轉移”,LongType(),真的),

StructField (“IncomingTrunk StringType(),真的),

StructField (“OutgoingTrunk StringType(),真的),

StructField (“MSRN StringType(),真的),

StructField (“CalledNum2 StringType(),真的),

StructField (“FCIFlag StringType(),真的),

StructField (“callrecTime TimestampType(),真的),

StructField (“EventProcessedUtcTime TimestampType(),真的),

StructField (“PartitionId LongType(),真的),

StructField (“EventEnqueuedUtcTime TimestampType(),真的),

]

)

#定義三角洲住表

進口dlt

從pyspark.sql。功能導入*

從pyspark.sql。導入類型*

json_path = " / mnt / adlspoc23 /流/”

@dlt.table (

評論= "原始電信callstream數據集,從ADLS攝取。”,

模式= call_schema

)

def callstream_raw ():

返回(spark.read.format (json) .load (json_path))

#錯誤

org.apache.spark.sql。AnalysisException:表“callstream_raw”有一個指定的模式不兼容的模式推斷的查詢。

3回複3

匿名
不適用

@Abhradwip穆克吉;的錯誤你看到是因為三角洲生活的模式你指定表的模式不兼容數據被讀取從JSON文件。

你應該檢查模式指定的模式匹配的數據正在加載。你也可以嚐試加載數據不指定一個模式,讓火花自動推斷出的模式

你可以嚐試更新代碼包含一個明確的模式定義當讀取JSON文件,以便它與模式匹配你指定的三角洲住表。

希望這能幫助你調試!

旁白,您提交的代碼看起來好。

Abhradwip
新的貢獻者二世

由於Suteja,但問題已經解決。我們可以使用自定義模式在三角洲地區生活。

Vidula_Khanna
主持人
主持人

嗨@Abhradwip穆克吉

希望一切都好!隻是想檢查如果你能解決你的問題,你會很高興分享解決方案或答案標記為最佳?其他的請讓我們知道如果你需要更多的幫助。

我們很想聽到你的聲音。

謝謝!

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

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

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

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

Baidu
map