python获取当前日期的前一天爆炸_python – 在PySpark中爆炸

我想从包含单词列表的DataFrame转换为DataFrame,每个单词都在自己的行中.

如何在DataFrame中的列上进行爆炸?

下面是我的一些尝试示例,您可以在其中取消注释每个代码行并获取以下注释中列出的错误.我在Python 2.7中使用PySpark和Spark 1.6.1.

from pyspark.sql.functions import split, explode

DF = sqlContext.createDataFrame([('cat \n\n elephant rat \n rat cat', )], ['word'])

print 'Dataset:'

DF.show()

print '\n\n Trying to do explode: \n'

DFsplit_explode = (

DF

.select(split(DF['word'], ' '))

# .select(explode(DF['word'])) # AnalysisException: u"cannot resolve 'explode(word)' due to data type mismatch: input to function explode should be array or map type, not StringType;"

# .map(explode) # AttributeError: 'PipelinedRDD' object has no attribute 'show'

# .explode() # AttributeError: 'DataFrame' object has no attribute 'explode'

).show()

# Trying without split

print '\n\n Only explode: \n'

DFsplit_explode = (

DF

.select(explode(DF['word'])) # AnalysisException: u"cannot resolve 'explode(word)' due to data type mismatch: input to function explode should be array or map type, not StringType;"

).show()

请指教

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值