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

問題加載文件csv文件,包含BOM(字節順序標記)字符

harraz
新的貢獻者三世

我繼續和錯誤當創建dataframe或蒸汽從某些CSV文件頭包含BOM(字節順序標記)字符

這是錯誤信息:

AnalysisException: [RequestId = e09c7c8d - 2399 - 4 - d6a - 84 - ae - 216 e6a9f8f6e ErrorClass = INVALID_PARAMETER_VALUE。INVALID_FIELD_LENGTH)不知道column_1.name太長了。最大長度是255個字符。

下麵是完整的錯誤消息

文件/磚/火花/ python / pyspark / sql /流/讀寫。py: 1481年DataStreamWriter。toTable(自我,表,格式、outputMode partitionBy, queryName, * *選項)1479如果queryName不是沒有:1480 self.queryName (queryName) - > 1481返回self._sq (self._jwrite.toTable(表))文件/磚/火花/ python / lib / py4j-0.10.9.7-src.zip / py4j / java_gateway。py: 1322年JavaMember。__call__(自我,* args) 1316命令=原型。CALL_COMMAND_NAME + 1318 \ 1317 self.command_header + \ args_command + \ 1319原型。END_COMMAND_PART 1321回答= self.gateway_client.send_command(命令)- > 1322 return_value = get_return_value(1323回答,自我。gateway_client,自我。target_id self.name) 1325年在temp_args temp_arg: 1326如果hasattr (temp_arg“_detach”):

下麵的代碼正常工作如果文件頭沒有BOM。通知我嚐試添加編碼選項但這並不工作。

從pyspark.sql。功能導入input_file_name、current_timestamp點燃def startRawSteam(模式):#配置自動加載程序streaming_query =(火花。readStream .format .option (“cloudFiles (“cloudFiles”)。格式”、“csv”) .option (“cloudFiles。schemaLocation”, raw_checkpoint_path) .option (“9”, ", ") .option .option (“inferSchema”、“true”) (“lineSep”、“\ r \ n”) #指定樣式的EOL字符(CRLF) .option .option(“頭”,“假”)(“編碼”,“UTF-8-sig”) .option (“pathGlobfilter”, file_pattern) .load (f“{external_location}”) .select(“*”,點燃(“不明”).alias(“醫院”),input_file_name () .alias (“source_file”), current_timestamp () .alias (“processing_time”)) .writeStream .option (“checkpointLocation”, raw_checkpoint_path) .trigger (availableNow = true) .toTable (raw_table_name))返回streaming_query

讓我知道如果你有一個解決方案

我想我需要修改的文件,但是我不知道如何去做,在磚,我不希望我將文件下載到本地機器,因為他們是大的,我不允許。s3 bucket的文件,我想修複它們,或者使用dbutils磚

任何幫助都是讚賞

1回複1

Vidula_Khanna
主持人
主持人

嗨@mohamed harraz

很高興認識你,謝謝你的問題!

看看你的同行在社區中有一個回答你的問題。謝謝。

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

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

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

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

Baidu
map