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

readStream查詢如果沒有拋出異常數據在三角洲的位置。

pranathisg97
新的貢獻者三世

你好,

我有一個場景,writeStream查詢寫流數據從青銅青銅位置和我必須讀,做一些處理,最後寫銀。我使用S3三角洲表的位置

但第一執行,readStream給一個例外:表模式沒有設置,數據寫入或使用創建表設置模式。

我readStream查詢:

(火花

.readStream.format(“δ”)

.option (“ignoreChanges”,“真正的”)

.option (“initialPosition”、“最新”)

.load (“/ mnt / tmp /青銅”)

)

有選項,可以設置與readStream查詢來檢查是否有數據在三角洲位置,如果不是這樣,它會等待,直到數據可用嗎?

2回答2

匿名
不適用

@Pranathi Girish:

你看到的錯誤消息表明,三角洲的模式表你想讀尚未設置。這可能發生,如果你還沒有寫任何數據表,或者如果沒有顯式地設置使用的模式

CREATE TABLE命令。

來解決這個問題,您可以顯式地設置的模式三角洲表使用CREATE table命令之前運行readStream查詢。例如:

(火花。sql(“創建表delta_table_name (col1字符串,col2 INT)使用三角洲位置/ mnt / tmp /銀”).readStream .format .option(“δ”)(“ignoreChanges”,“真正的”).option .load (“initialPosition”、“最新”)(“/ mnt / tmp /青銅”))

關於的問題等待三角洲表中的數據是可用的,你可以試試設置

failOnDataLoss readStream查詢選項錯誤。這告訴火花等待新數據到達流而不是拋出錯誤如果數據丟失。例如:

(火花.readStream .format(“δ”).option .option (“ignoreChanges”、“true”) (“initialPosition”、“最新”).option .load (“failOnDataLoss”,“假”)(“/ mnt / tmp /青銅”))

這個選項設置,火花將等待新數據到達的流並繼續處理一旦可用。然而,請注意,這可能導致較慢的性能是否有到達的數據流之間的縫隙。

希望這能幫助你找到解決你的答案!

Vartika
主持人
主持人

嗨@Pranathi Girish,

希望一切都好!

檢查。如果@Suteja卡努裏人的回答,你能讓我們知道最好的答案和馬克?如果沒有,你會很高興給我們更多的信息嗎?

我們很想聽到你的聲音。

謝謝!

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

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

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

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

Baidu
map