df.filter(~(col('word').isin(stop_words_list))) = df_filter df_filter.count()
27781
df.count()
31240
当使用submit将相同的代码提交到星火集群时,筛选器功能不能正常工作,stop_words_list中带有col('word')的行不会被过滤。这一切为什么要发生?
发布于 2018-08-03 23:02:24
在裁剪“word”之后,过滤现在开始工作了。df_filter = df.filter(~(trim(col("word")).isin(stop_words_list)))我仍然不知道为什么它工作在火花放电外壳,但不是火花-提交。它们唯一的区别是:在pyspark中,我使用spark.read.csv()在文件中读取,而在火花提交中,我使用了以下方法。from pyspark.sql import SparkSession from pyspark.sql import SQLContext session = pyspark.sql.SparkSession.builder.appName('test').getOrCreate() sqlContext = SQLContext(session) df = sqlContext.read.format("com.databricks.spark.csv").option('header','true').load()我不确定是否是两种不同的读入方法导致了这种差异。熟悉这一点的人可以澄清这一点。
发布于 2018-08-02 19:50:55
试着用双引号代替单引号。
from pyspark.sql.functions import col
df_filter = df.filter(~(col("word").isin(stop_words_list))).count()https://stackoverflow.com/questions/51661079
复制相似问题