我有這個設定:
PythonSDK 發送預定義的 JSON -> aws kinesis firehose -> 使用 AWS GLUE 模式將資料轉換為“Parquet” -> 將資料保存到 S3(無論是否成功)。
雖然發送像字串、整數和布林值這樣的基本型別很容易,但發送陣列/結構并不是一件容易的事。我不斷收到以下奇怪的錯誤訊息:
架構無效。決議架構時出錯:錯誤:在 'STRUCTname:STRING,id:BIGINT,is_bla:BOOLEAN' 的位置 0 處鍵入預期,但找到了 'STRUCT'。
或者
架構無效。決議架構時出錯:錯誤:在 'ARRAY' 的位置 0 處鍵入預期,但找到了 'ARRAY'。
- 為什么我會收到這些錯誤訊息?
- 模式資料型別是否有適當的檔案/示例?我只能找到這句話 Column
Type應該匹配“單行字串模式”。
uj5u.com熱心網友回復:
我會回答我的問題:
保存 GLUE 模式和將資料發送到 firehose 之間存在一些延遲。我發送的更新的 JSON 使用了舊模式,因此出現了錯誤。
也因此,我們必須自己驗證一些命名約定,很不幸 AWS 在創建時沒有這樣做。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/482592.html
標籤:亚马逊网络服务 aws胶水 amazon-kinesis-firehose
