如何 select 来自 Spark DataFrame 的稳定行子集?
How can I select a stable subset of rows from a Spark DataFrame?
我已经将文件加载到 Zeppelin 笔记本中的 DataFrame 中,如下所示:
val df = spark.read.format("com.databricks.spark.csv").load("some_file").toDF("c1", "c2", "c3")
这个 DataFrame 有超过 1000 万行,我想开始只处理这些行的一个子集,所以我使用限制:
val df_small = df.limit(1000)
但是,现在当我尝试根据其中一列的字符串值过滤 DataFrame 时,我每次 运行 都会得到 不同的结果 :
df_small.filter($"c1" LIKE "something").show()
如何获取 df 的一个子集,使每个过滤器都保持稳定 运行?
Spark 以延迟加载的方式工作,因此只有在语句 .show
上面的 2 个语句才会执行。您可以将 df_small
写入文件并每次单独读取或执行 df_small.cache()
我已经将文件加载到 Zeppelin 笔记本中的 DataFrame 中,如下所示:
val df = spark.read.format("com.databricks.spark.csv").load("some_file").toDF("c1", "c2", "c3")
这个 DataFrame 有超过 1000 万行,我想开始只处理这些行的一个子集,所以我使用限制:
val df_small = df.limit(1000)
但是,现在当我尝试根据其中一列的字符串值过滤 DataFrame 时,我每次 运行 都会得到 不同的结果 :
df_small.filter($"c1" LIKE "something").show()
如何获取 df 的一个子集,使每个过滤器都保持稳定 运行?
Spark 以延迟加载的方式工作,因此只有在语句 .show
上面的 2 个语句才会执行。您可以将 df_small
写入文件并每次单独读取或执行 df_small.cache()