13

是否可以缓存数据框,然后在另一个脚本中引用(查询)它?...我的目标如下:

  1. 在脚本 1 中,创建一个数据框 (df)
  2. 运行脚本 1 并缓存 df
  3. 在脚本 2 中,查询 df 中的数据
4

2 回答 2

7

使用标准 Spark 二进制文件是不可能的。SparkDataFrame绑定到SQLContext用于创建它的特定对象,并且在它之外无法访问。

有一些工具,例如 Apache Zeppelin 或 Databricks,它们使用注入不同会话的共享上下文。这是您可以在不同会话和/或来宾语言之间共享临时表的方式。

还有其他平台,包括spark-jobserverApache Ignite,它们提供了共享分布式数据结构的替代方法。您还可以查看Livy 服务器

另请参阅:在同一 Master 下的 Java 和 R 应用程序之间共享 SparkContext

于 2016-02-23T17:15:17.790 回答
0

您还可以将实际数据保存到文件/数据库中并再次加载。Spark 提供了执行此操作的方法,因此您无需将数据收集到驱动程序。

于 2016-11-01T11:32:44.547 回答