如何缓存 Spark 数据帧并在另一个脚本中引用它
How to cache a Spark data frame and reference it in another script
是否可以缓存一个数据框,然后在另一个脚本中引用(查询)它?...我的目标如下:
- 在脚本 1 中,创建数据框 (df)
- 运行 脚本 1 和缓存 df
- 脚本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 提供了执行此操作的方法,因此您无需将数据收集到驱动程序。
是否可以缓存一个数据框,然后在另一个脚本中引用(查询)它?...我的目标如下:
- 在脚本 1 中,创建数据框 (df)
- 运行 脚本 1 和缓存 df
- 脚本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 提供了执行此操作的方法,因此您无需将数据收集到驱动程序。