Board logo

标题: 使用 Spark 和 IBM Cloud Object Storage 更快地分析数据(2) [打印本页]

作者: look_w    时间: 2018-6-24 15:22     标题: 使用 Spark 和 IBM Cloud Object Storage 更快地分析数据(2)

使用                Keystone Version 3 配置文件对于 Keystone Version 3,可以使用这个 core-site.xml 并按清单下方的说明进行替换。请记住,对于 Keystone                Version 3,使用 userIDtenantID 代替 username 和                    tenant 值。
清单 3. Keystone Version 3                配置文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<configuration>
<property>
    <name>fs.swift2d.impl</name>
    <value>com.ibm.stocator.fs.ObjectStoreFileSystem</value>
</property>

<!-- Keystone based authentication -->
<property>
    <name>fs.swift2d.service.spark.auth.url</name>
    <value>http://your.keystone.server.com:5000/v3/auth/tokens&lt;/value>
</property>
<property>
    <name>fs.swift2d.service.spark.public</name>
    <value>true</value>
</property>
<property>
    <name>fs.swift2d.service.spark.tenant</name>
    <value>1c5c9e97c8db488baeca8d667497aef7</value>
</property>
<property>
    <name>fs.swift2d.service.spark.password</name>
    <value>passw0rd</value>
</property>
<property>
    <name>fs.swift2d.service.spark.username</name>
    <value>d2a2adb8bd924c2da1545e2e9ee7c4fe</value>
</property>
<property>
    <name>fs.swift2d.service.spark.auth.method</name>
    <value>keystoneV3</value>
</property>
<property>
    <name>fs.swift2d.service.spark.region</name>
    <value>IBMCOS</value>
</property>

</configuration>




在代码中以编程方式指定参数如果喜欢在代码中指定参数,可以使用下面的代码示例,其中的 SERVICE_NAME 为                spark
清单 4. 向代码添加配置参数
1
2
3
4
5
6
7
8
9
hconf = sc._jsc.hadoopConfiguration()
hconf.set("fs.swift2d.impl", "com.ibm.stocator.fs.ObjectStoreFileSystem")
hconf.set("fs.swift2d.service.spark.auth.url", "http://your.authentication.server.com/v2.0/tokens")
hconf.set("fs.swift2d.service.spark.public", "true")
hconf.set("fs.swift2d.service.spark.tenant", "service")
hconf.set("fs.swift2d.service.spark.username", "swift")
hconf.set("fs.swift2d.service.spark.auth.method", "keystone")
hconf.set("fs.swift2d.service.spark.password", "passw0rd")
hconf.set("fs.swift2d.service.spark.region", "IBMCOS")




表 1 对每个参数进行了说明。
表 1. 配置参数键说明 fs.swift2d.service.SERVICE_NAME.impl  jar 内的驱动程序类的路径                         fs.swift2d.service.SERVICE_NAME.auth.url  Keystone                            服务的 URL  fs.swift2d.service.SERVICE_NAME.public  定义将通过公有                            (true) 或私有 (false) 网络进行访问。默认设置为 false。  fs.swift2d.service.SERVICE_NAME.tenant  对象存储租户名称                         fs.swift2d.service.SERVICE_NAME.password  对象存储用户密码                         fs.swift2d.service.SERVICE_NAME.username  对象存储用户名                         fs.swift2d.service.SERVICE_NAME.block.size  读/写数据块大小                            (MB)。默认设置为 128MB。 fs.swift2d.service.SERVICE_NAME.region  Keystone                            地区(针对全球 Keystone 用例)  fs.swift2d.service.SERVICE_NAME.auth.method                             身份验证方法。对于 Keystone Version 2,将其设置为                            keystone;对于 Keystone Version 3,将其设置为                                keystoneV3。SERVICE_NAME 应替换为您的服务名称,比如 spark
4

启动启用了 Stocator 的 Spark

在利用 Stocator 从 Spark 访问 IBM COS 对象之前,需要静态地将 Spark 和 Stocator 重新编译到一起,或者动态地将                Stocator 的库传递给 Spark。
要利用源代码重新编译 Spark 来包含 Stocator 驱动程序,请参阅  中的说明。
要通过 Stocator 的独立 jar 库使用 Spark,而不重新编译它,可以使用 –jars 选项运行                Spark。在我们的环境中,我们使用了 1.0.8 版的 Stocator,所以独立 jar 库的名称为                    stocator-1.0.8-SNAPSHOT-jar-with-dependencies.jar。在我们的示例环境中,传递给                Spark                的选项包括:–jars stocator-1.0.8-SNAPSHOT-jar-with-dependencies.jar。
清单 5. Jars                选项
1
2
3
4
5
6
7
8
9
10
11
12
13
14
ofer@beginnings:~$ ~/spark-2.0.1/bin/spark-shell \
                   --jars stocator-1.0.8-SNAPSHOT-jar-with-dependencies.jar
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 2.0.1
      /_/

Using Scala version 2.11.8 (OpenJDK 64-Bit Server VM, Java 1.7.0_111)
Type in expressions to have them evaluated.
Type :help for more information.

scala>






欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0