【发布时间】:2015-11-18 20:44:03
【问题描述】:
conf = SparkConf().setAppName("my_app")
with SparkContext(conf=conf) as sc:
sqlContext = SQLContext(sc)
df = sqlContext.read.parquet(*s3keys)
# this gives me distinct values as list
rdd = df.filter(
(1442170800000 <= df.timestamp) & (
df.timestamp <= 1442185200000) & (
df.lat > 40.7480) & (df.lat < 40.7513) & (
df.lon > -73.8492) & (
df.lon < -73.8438)).map(lambda p: p.userid).distinct()
# how do I apply the above list to filter another rdd?
df2 = sqlContext.read.parquet(*s3keys_part2)
# example:
rdd = df2.filter(df2.col1 in (rdd values from above))
【问题讨论】:
-
这似乎是将两个数据框连接在一起的工作。
-
谢谢。你能再扩展一下吗?我主要来自熊猫,不确定这个概念如何适用于 RDD。
标签: apache-spark pyspark rdd