PYSPARK - 我如何仅获得SQLCONTEXT结果中的值

时间:2016-10-07 19:13:56

标签: apache-spark pyspark apache-spark-sql

我试图将这个Sqlcontext结果返回到列表中,但返回的东西很多,我只想要值。

Pyspark代码:

rdd = sqlcontext.sql('select * from Dicionario where CD_PROC="{}"'.format(processo)).rdd.map(lambda l: l).collect()

结果(一行):

[Row(CD_PROC=u'CAL-0004-LL0', NM_CAMPO=u'TIPO_REGISTRO', TIPO=u'A', TAMANHO=u'1', CD_DOMI=u'', ID_PK=u'0', DT_HOM=u'')]

我想:

[CAL-0004-LL0, TIPO_REGISTRO, A, 1, ,0,,]

1 个答案:

答案 0 :(得分:0)

Row object是tuple的子类。

results = [Row(CD_PROC=u'CAL-0004-LL0', NM_CAMPO=u'TIPO_REGISTRO', TIPO=u'A', TAMANHO=u'1', CD_DOMI=u'', ID_PK=u'0', DT_HOM=u'')]
print(tuple(results[0]))  # or use list() or [:] anything you like

输出

(u'', u'CAL-0004-LL0', u'', u'0', u'TIPO_REGISTRO', u'1', u'A')