开发者社区> 问答> 正文

如何在ECI中访问OSS数据?

如何在ECI中访问OSS数据?

展开
收起
小天使爱美 2020-03-20 18:41:53 1389 0
1 条回答
写回答
取消 提交回答
  • OSS是Hadoop/Spark批处理作业可选的数据存储之一。本文将演示在OSS中创建一个文件,并在Spark中进行访问。

    OSS数据准备 创建bucket

    上传文件 上传文件可以通过OSS SDK,也可以通过HDFS,我们直接以控制台为例:

    记住这个bucket的地址:oss://liumi-hust/A-Game-of-Thrones.txtendpoint:oss-cn-hangzhou-internal.aliyuncs.com至此OSS数据准备部分就已经ready。

    在spark应用中读取OSS的数据 1、开发应用 应用开发上跟传统的部署方式没有区别。

    SparkConf conf = new SparkConf().setAppName(WordCount.class.getSimpleName()); JavaRDD lines = sc.textFile("oss://liumi-hust/A-Game-of-Thrones.txt", 250); ... wordsCountResult.saveAsTextFile("oss://liumi-hust/A-Game-of-Thrones-result"); sc.close(); 2、将前面的core-site.xml放入应用项目的resources目录

    fs.oss.impl org.apache.hadoop.fs.aliyun.oss.AliyunOSSFileSystem fs.oss.endpoint oss-cn-hangzhou-internal.aliyuncs.com fs.oss.accessKeyId {临时AK_ID} fs.oss.accessKeySecret {临时AK_SECRET} fs.oss.buffer.dir /tmp/oss fs.oss.connection.secure.enabled false fs.oss.connection.maximum 2048 3、打包的jar文件需要包含所有依赖 mvn assembly:assembly 附应用的pom.xml:

    1 2<project xmlns="http://maven.apache.org/POM/4.0.0" 3 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 4 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 5 4.0.0 6 7 com.aliyun.liumi.spark 8 SparkExampleJava 9 1.0-SNAPSHOT 10 11 12 13 org.apache.spark 14 spark-core_2.12 15 2.4.3 16 17 18 19 com.aliyun.dfs 20 aliyun-sdk-dfs 21 1.0.3 22 23 24 25 26 27 28 29 org.apache.maven.plugins 30 maven-assembly-plugin 31 2.6 32 33 false 34 35 jar-with-dependencies 36 37 38 39 com.aliyun.liumi.spark.example.WordCount 40 41 42 43 44 45 make-assembly 46 package 47 48 assembly 49 50 51 52 53 54 55 4、编写Dockerfile OSS:

    spark base image

    FROM registry.cn-beijing.aliyuncs.com/eci_open/spark:2.4.4 RUN rm $SPARK_HOME/jars/kubernetes-client-*.jar ADD https://repo1.maven.org/maven2/io/fabric8/kubernetes-client/4.4.2/kubernetes-client-4.4.2.jar $SPARK_HOME/jars RUN mkdir -p /opt/spark/jars COPY SparkExampleJava-1.0-SNAPSHOT.jar /opt/spark/jars

    oss 依赖jar

    COPY aliyun-sdk-oss-3.4.1.jar /opt/spark/jars COPY hadoop-aliyun-2.7.3.2.6.1.0-129.jar /opt/spark/jars COPY jdom-1.1.jar /opt/spark/jars oss 依赖jar下载地址见:https://help.aliyun.com/document_detail/97854.html

    5、构建应用镜像 docker build -t registry.cn-beijing.aliyuncs.com/liumi/spark:2.4.4-example -f Dockerfile . 6、推到阿里云ACR docker push registry.cn-beijing.aliyuncs.com/liumi/spark:2.4.4-example 至此,spark应用镜像都已经准备完毕。接下来就是在kubernetes集群中部署Spark应用了。

    2020-03-20 18:42:57
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
公共云弹性计算最佳实践-省钱窍门之四:弹性容器实例和Serv 立即下载
云存储之OSS实战进阶分享 立即下载
基于ECI的ACK集群高弹性架构 立即下载