如何缓存 Spark 数据帧并在另一个脚本中引用它

How to cache a Spark data frame and reference it in another script

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

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

无法使用标准的 Spark 二进制文件。 Spark DataFrame 绑定到用于创建它的特定 SQLContext,并且在它之外无法访问。

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

还有其他平台,包括spark-jobserver and Apache Ignite, which provide alternative ways to share distributed data structures. You can also take a look at the Livy server

另请参阅:

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