您好,登錄后才能下訂單哦!
如何解析從PySpark中的字符串獲取列表方法,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
在 PySpark 中是否有類似eval的功能。
我正在嘗試將 Python 代碼轉(zhuǎn)換為 PySpark
我正在查詢一個(gè)數(shù)據(jù)框,并且其中一列具有數(shù)據(jù),如下所示,但采用字符串格式。
[{u'date': u'2015-02-08', u'by': u'abc@gg.com', u'value': u'NA'}, {u'date': u'2016-02-08', u'by': u'dfg@yaa.com', u'value': u'applicable'}, {u'date': u'2017-02-08', u'by': u'wrwe@hot.com', u'value': u'ufc'}]
假設(shè)“ x”是在數(shù)據(jù)框中保存此值的列。
現(xiàn)在,我想傳遞該字符串列“ x”并獲取列表,以便可以將其傳遞給 mapPartition 函數(shù)。
我想避免迭代驅(qū)動(dòng)程序上的每一行,這就是我這樣想的原因。
在 Python 中使用 eval()函數(shù)(如果已使用):我得到以下輸出:
x = "[{u'date': u'2015-02-08', u'by': u'abc@gg.com', u'value': u'NA'}, {u'date': u'2016-02-08', u'by': u'dfg@yaa.com', u'value': u'applicable'}, {u'date': u'2017-02-08', u'by': u'wrwe@hot.com', u'value': u'ufc'}]" list = eval(x) for i in list: print i
輸出:(這也是我在 PySpark 中想要的)
{u'date': u'2015-02-08', u'by': u'abc@gg.com', u'value': u'NA'}
{u'date': u'2016-02-08', u'by': u'dfg@yaa.com', u'value': u'applicable'}
{u'date': u'2017-02-08', u'by': u'wrwe@hot.com', u'value': u'ufc'}
如何在 PySpark 中做到這一點(diǎn)?
實(shí)例擴(kuò)展:
df.schema: StructType(List(StructField(id,StringType,true),StructField(recs,StringType,true)))
|id | recs | |ABC|[66, [["AB", 10]]] |XYZ|[66, [["XY", 10], ["YZ", 20]]] |DEF|[66, [["DE", 10], ["EF", 20], ["FG", 30]]]
我正試著把這些單子弄平
|id | like_id
|ABC|AB|
|XYZ|XY|
|XYZ|YZ|
|DEF|DE|
|DEF|EF|
|DEF|FG|
關(guān)于如何解析從PySpark中的字符串獲取列表方法問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開,可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。