[英]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.