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

Pyspark——如何拯救一個csv文件的模式在三角洲表的列中

tarente
新的貢獻者三世

如何拯救一個csv文件的模式在三角洲表的列?

在之前的項目中實現磚使用Scala的筆記本,我們存儲模式的csv文件作為一個json字符串在SQL Server表。

當我們需要讀或寫csv和源dataframe das 0行,源csv或不存在,我們使用模式存儲在SQL Server創建一個空dataframe或空的csv文件。

現在,我想實現在磚類似,但使用Python筆記本和csv文件的模式存儲在三角洲表。

有什麼建議嗎?

提前謝謝,

蒂亞戈。

1接受解決方案

接受的解決方案

RKNutalapati
價值貢獻

嗨@Tiago年金,希望下麵的代碼會有所幫助。

圖像

在原帖子查看解決方案

9回複9

Hubert_Dudek1
尊敬的貢獻者三世

在你讀到csv dataframe spark.read。csv……有三個方法

DataFrame.Schema

——這是StructType DataFrame.printSchema ()

和第三棘手的方法是DDL字符串

.toDDL DataFrame._jdf.schema () ()

通常DDL為簡單的字符串是容易節省地方,比重用。插入一些δ表模式,然後選擇需要的時候。

tarente
新的貢獻者三世

你好休伯特,

謝謝你的回答,但是我不能讓它工作。

讓我用不同的方式問這個問題。

我有一個csv文件與以下基本estruture:

  • ProductId——整數。
  • ProductDesc——字符串。
  • ProductCost——小數。

在PySpark我想存儲文件模式:

  1. 在一個變量中使用spark.read.schema(模式).options . schema(模式)(* * fileOptions) .load (…)。
  2. 能夠存儲文件模式在三角洲表的列。

我需要做什麼樣的轉換的變量1。能夠存儲在2。,反之亦然?

提前謝謝,

蒂亞戈R。

Kaniz
社區經理
社區經理

嗨@Tiago年金,希望這將有助於。

csv_file = spark.read.csv(“/道路/ /輸入/數據”,標題= True, 9 = "、");csv_file.write.format(“δ”).mode(“覆蓋”).option .save (“overwriteSchema”,“真正的”)(“/ mnt /δ/產品”)火花。sql(“使用三角洲位置創建表employee / mnt /δ/產品/”)

tarente
新的貢獻者三世

嗨Kaniz,

謝謝你的回答,雖然它沒有回答我的問題。

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

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

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

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

Baidu
map