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

錯誤的SQL語句:AnalysisException:不能把文件從數組中

sage5616
價值貢獻

大家好!

我得到以下錯誤在運行一個SQL查詢和不理解這意味著什麼或能做些什麼來解決它。你有什麼推薦嗎?

DDL視圖:

myschema創建視圖。表(accountId、agreementType capture_file_name、capture_file_path createdDate,貨幣,de_agentid, de_applicationshardid, de_datacontenttype, de_eventapplicationtime, de_eventmode, de_eventpublishtime, de_eventsequenceid, de_id, de_partitionkey, de_source,文檔,effectiveDate, eh_EnqueuedTimeUtc, eh_Offset, eh_SequenceNumber, eh_SystemProperties_x_opt_enqueued_time, eh_SystemProperties_x_opt_kafka_key, endDate, expirationDate, externalId, externalSource, id, isInWorkflow, isSigned,名稱,注意,noticeDate, noticePeriod,聚會,reconciled_file_name_w_path,請求者,resourceVersion,地位,terminateForConvenience, updatedDate,價值,de_action, de_eventapplication_year, de_eventapplication_month, de_eventapplication_day, de_eventapplication_hour, de_eventapplication_minute) TBLPROPERTIES (' transient_lastDdlTime ' = ' 1664473495 ') select * from parquet.“/ mnt /存儲/ de_entitytype =協議”

SQL查詢:

選擇從myschema.table de_id;

錯誤:

錯誤的SQL語句:AnalysisException:不能把文件從數組< struct < accountId:字符串,agreementId:字符串,createdBy:字符串,createdDate:字符串,id:字符串,義務:數組<字符串>,resourceVersion:長整型數字,updatedBy:字符串,updatedDate: string > > <字符串>數組。目標對象的類型路徑是:您可以添加一個顯式的演員來輸入數據或選擇更高的精度目標對象類型的字段

任何建議如何解決這個錯誤會感謝:slightly_smiling_face:

12個回複12

werners1
尊敬的貢獻者三世

好,這意味著表/視圖不對應了實際的數據。

你能創建一個臨時視圖三角洲湖/拚花/…和運行相同查詢?

它可能會工作。如果是這樣,你將不得不重新創建表有一個正確的模式。

我重新創建視圖和有一個類似的錯誤。看起來當略微複雜數據類型變化(列如“文檔”在我早前發布的文章),火花視圖不能處理,這是不對的。

Hubert_Dudek1
尊敬的貢獻者三世

剛讀鋪在python和檢索模式:自動生成的DDL

parquetFile = spark.read.parquet (people.parquet) parquetFile.createOrReplaceTempView (“parquetFile”) schema_json =火花。sql (“SELECT * FROM parquetFile”) .schema.json ddl () = spark.sparkContext._jvm.org.apache.spark.sql.types.DataType.fromJson (schema_json) .toDDL()打印(ddl)

謝謝你插嘴@Hubert杜德克,但不知道這有助於讓視圖讀取其鋪文件當其中的一些列結構和數組不同的模式,這是似乎是這個問題。

注:

我試著將複雜數據類型轉換為字符串,結構或數組模式在列消失隻留下數據值沒有他們的名字。

Hubert_Dudek1
尊敬的貢獻者三世

幫助的方式,它會給你一個完美的模式:slightly_smiling_face:你可以複製粘貼代碼

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

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

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

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

Baidu
map