【发布时间】:2017-10-07 17:01:51
【问题描述】:
我正在编写 apache spark 的教程,并使用 Cassandra 数据库、Spark2.0 和 Python
我正在尝试使用本教程对 sql 查询执行 RDD 操作, https://spark.apache.org/docs/2.0.0-preview/sql-programming-guide.html 上面写着#SQL查询的结果是RDD,支持所有正常的RDD操作。
我目前有这行代码说
sqlContext = SQLContext(sc)
results = sqlContext.sql("SELECT word FROM tweets where word like '%@%'").show(20, False)
df = sqlContext.read\
.format("org.apache.spark.sql.cassandra")\
.options(table="wordcount", keyspace= "demo")\
.load()
df.select("word")
df.createOrReplaceTempView("tweets")
usernames = results.map(lambda p: "User: " + p.word)
for name in usernames.collect():
print(name)
AttributeError: 'NoneType' 对象没有属性 'map' 如果变量 results 是 sql Query 的结果,为什么会出现此错误?谁能给我解释一下。
一切正常,表格打印,只有当我得到错误时 尝试做一个 RDD 操作。 请记住 sc 是现有的 spark 上下文
【问题讨论】:
标签: scala apache-spark cassandra pyspark rdd