我是Spark的新手,希望在与Cassandra合作时了解更多关于它的操作。PySpark上的spark-cassandra的服务器端过滤
我已被提醒在大多数教程中做服务器端过滤,我完全理解这样做的重要性。
然而那些教程或者基于Scala或者pyspark_cassandra
,并且他们都没有使用PySpark。
只是好奇,如果下面的scriptlet是做服务器端过滤或不。
给定一个SparkConf对象conf
:
sc = pyspark.SparkContext(conf=conf)
sqlContext = SQLContext(sc)
df = (sqlContext.read.format("org.apache.spark.sql.cassandra")
.options(keyspace="ks", table="tbl").load())
df.filter("id = 1234").show()
另外,我有没有加载整个表到我的火花集群做过滤在这种情况下?
做我只是想指出,在星火1.6,该PushedFilters解释是误导性的。它会列出数据源可以看到的所有过滤器,但实际上并不会告诉你哪些过滤器实际被推送。在这种情况下,最好只看看spark是否在数据源之外单独执行了“Filter”步骤。如果没有,那么谓词就会被推。您还可以打开连接器的INFO/DEBUG日志记录以准确查看连接器在Catalyst中执行的操作。 – RussS