访问存储器中的数据

使用 Spark 作业 API 时,可以将应用程序作业文件和数据文件存储在可通过 IBM Cloud Pak for Data 卷 API 管理的存储卷中,或者,您可以供应 IBM Cloud Object Storage 实例。

文件可以位于 IBM Cloud Pak for Data 集群上的文件存储系统中,也可以位于 IBM Cloud Object Storage 中。请参阅存储注意事项

使用外部卷中的文件

在使用 Analytics Engine powered by Apache Spark 运行的 Spark 应用程序中,引用 Spark 作业文件、输入数据或输出数据的常用方法是通过外部存储卷进行引用,这些卷可使用 IBM Cloud Pak for Data 卷 API 来管理。

可以使用下列外部卷:

使用多个存储卷中的文件

在创建 Spark 作业有效内容时,可以使用多个存储卷。

以下示例显示上载至 vol1 卷的 customApps 目录下的 Spark 应用程序,该卷以 /myapp 形式装载在 Spark 集群上。用户数据位于 vol2 卷,该卷以 /data 形式装载在 Spark 集群上。

{
    "engine": {
    "type": "spark",
    "conf": {
        "spark.executor.extraClassPath":"/myapp/*",
        "spark.driver.extraClassPath":"/myapp/*"
    },
		"volumes": [{ "volume_name": "vol1", "source_path": "customApps", "mount_path": "/myapp" },{ "volume_name": "vol2", "source_path": "", "mount_path": "/data" }]
	},
	"application_arguments": ["12"],
	"application_jar": "/myapp/spark-examples_2.11-2.4.3.jar",
	"main_class": "org.apache.spark.examples.SparkPi"
}

使用 Object Storage 中的文件

可以将作业文件和数据存储在与 S3 兼容的 Object Storage 存储区。下列步骤描述对于 IBM Cloud Object Storage 存储区如何执行此操作。