簡體   English   中英

使用 Pyspark 加載文本文件並將其存儲在 Dataframe

[英]Load Text Files and store it in Dataframe using Pyspark

我正在將 pig 腳本遷移到 pyspark,我是 Pyspark 的新手,所以我在數據加載時遇到了困難。

我的豬腳本看起來像:

Bag1 = LOAD '/refined/em/em_results/202112/' 使用 PigStorage('\u1') AS (PAYER_SHORT: chararray,SUPER_PAYER_SHORT: chararray,PAID: double,AMOUNT: double );

我想要 Pyspark 中類似的東西。

目前我已經在Pyspark中嘗試過這個:df = spark.read.format("csv").load("/refined/em/em_results/202112/*")

我可以用這個讀取文本文件,但值出現在單列中,而不是分開在不同的列中。 請在下面找到一些示例值:

|_c0

|AZZCMMETAL2021/1211FGPP7491764 |

|AZZCMMETAL2021/1221HEMP7760484 |

Output 應如下所示:

_c0 _c1 _c2 _c3_c4 _c5 _c6 _c7

AZZCM 金屬 2021/12 11 FGP P 7 491764

AZZCM 金屬 2021/12 11 HEM P 7 760484

任何線索如何實現這一目標? 謝謝!!

一般情況下,spark 會嘗試將 (,)[comma] 作為分隔符值,您必須提供空格作為分隔符。

df = spark.read.csv(file_path, sep =' ')

這解決了這個問題。 我使用了" "而不是"\\u1" " 。 請在下面找到答案。

df = spark.read.option("sep","\u0001").csv("/refined/em/em_results/202112/*")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM