您好,登錄后才能下訂單哦!
如何解析從PySpark中的字符串獲取列表方法,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
在 PySpark 中是否有類似eval的功能。
我正在嘗試將 Python 代碼轉換為 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'}]
假設“ x”是在數據框中保存此值的列。
現在,我想傳遞該字符串列“ x”并獲取列表,以便可以將其傳遞給 mapPartition 函數。
我想避免迭代驅動程序上的每一行,這就是我這樣想的原因。
在 Python 中使用 eval()函數(如果已使用):我得到以下輸出:
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 中做到這一點?
實例擴展:
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|
關于如何解析從PySpark中的字符串獲取列表方法問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。