使用Pyspark加载文本文件并将其存储在Dataframe中



我正在将pig脚本迁移到pyspark,而且我是pyspark的新手,所以我在数据加载方面遇到了麻烦。

我的猪脚本看起来像:

Bag1=使用PigStorage('\u1'(AS加载'/refined/em_results/202112/'(PAYER_SHORT:字符数组,SUPER_PAYER_SHORT:字符数组,已付款:双倍,金额:双倍);

我想在Pyspark中找到类似的东西。

目前我已经在Pyspark中尝试过:df=spark.read.format("csv"(.load("/refined/em/em_results/202112/*"(

我可以用这个读取文本文件,但值是单列的,而不是分隔在不同的列中。请在下面找到一些样本值:

|_c0

|AZZCMMETAL2021/1211FGPP7491764|

|AZZCMMETAL2021/1221emp7760484|

输出应该是这样的:

_c0 _c1 _c2 _c3_c4 _c5 _c6 _c7

AZZCM金属2021/12 11 FGP p p 7 491764

AZZCM金属2021/12 11下摆p 7 760484

知道如何做到这一点吗?谢谢

Generaly spark会尝试将(,([comma]作为分隔符值,以防您必须提供空间作为分隔符。

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

这解决了问题。我使用的不是"\u1",而是"u0001"。请在下面找到答案。

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

相关内容

  • 没有找到相关文章

最新更新