python - 如何在 pyspark 的 RDD 上访问元组中的单个元素?

标签 python apache-spark pyspark rdd

假设我有一个像这样的 RDD

[(u'Some1', (u'ABC', 9989)), (u'Some2', (u'XYZ', 235)), (u'Some3', (u'BBB', 5379)), (u'Some4', (u'ABC', 5379))]

我正在使用 map 一次获取一个元组,但我如何访问元组的单个元素,比如查看元组是否包含某些字符。其实我想过滤掉那些包含一些字符的。这里的元组包含 ABC

我想做这样的事情,但没有帮助

def foo(line):
     if(line[1]=="ABC"):
          return (line)


new_data = data.map(foo)

我也是 spark 和 python 的新手,请帮忙!!

最佳答案

可以直接过滤RDD。下面将为您提供元组第二个元素的第 0 个位置包含“ABC”的所有记录。

new_data = data.filter(lambda x: x[1][0] == "ABC")

关于python - 如何在 pyspark 的 RDD 上访问元组中的单个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36629953/

相关文章:

amazon-web-services - 从 Databricks 上的 Spark 连接到 Redshift 时出错

hadoop - PySpark:在连接中处理 NULL

python - TypeError : expected httplib. 消息,得到 <type 'instance' >。在 GAE 上使用 requests.get(url) 时

python - 将所有数字相加的递归函数

apache-spark - Spark 导入 Parquet 文件将字符串转换为 bytearray

python - 将 csv 字典列转换为行 pyspark

python - Spark - 字数统计测试

python - RubyPython 导入

python - 如何在Python中使用youtube dl获取youtube视频url

amazon-web-services - Amazon s3a 使用 Spark 返回 400 Bad Request