加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 综合聚焦 > 编程要点 > 语言 > 正文

基于Kubernetes的Spark部署完全指南

发布时间:2020-09-02 13:01:43 所属栏目:语言 来源:网络整理
导读:【金融特辑】光大****科技部DBA女神带你从0到1揭秘MGR 【编者的话】本文是在Kubernets上搭建Spark集群的操作指南,同时提供了Spark测试任务及相关的测试数据,通过阅读本文,你可以实践从制作Spark镜像、搭建Spark容器集群,到在集群上运行测试任务的完整流

现在让我们提交一个Job,看看是否执行正常。不过在此之前,你需要一个有效的AWS S3账户,以及存有样本数据的桶存在。我使用了Kaggle下载样本数据,样本数据可以从https://www.kaggle.com/datasna ... s.csv获取,获取以后需要上传到S3的桶里。假定桶名是s3-data-bucket,那么样本数据文件则位于s3-data-bucket/data.csv。

数据准备好以后,将其加载到一个Spark master pod中执行。以Pod名为spark-master-controller-5rgz2为例,命令如下:

kubectl exec -it spark-master-controller-v2hjb /bin/bash 

如果你登录进入了Spark系统,可以运行Spark Shell:

export SPARK_DIST_CLASSPATH=$(hadoop classpath) 

spark-shell 

Setting default log level to "WARN". 

To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLevel). 

Spark context Web UI available at :4040 

Spark context available as 'sc' (master = spark://spark-master:7077, app id = app-20170405152342-0000). 

Spark session available as 'spark'. 

Welcome to 

  ____              __ 

 / __/__  ___ _____/ /__ 

_ / _ / _ `/ __/  '_/ 

/___/ .__/_,_/_/ /_/_   version 2.4.4 

  /_/ 

 

Using Scala version 2.11.12 (Java HotSpot(TM) 64-Bit Server VM, Java 1.8.0_221) 

Type in expressions to have them evaluated. 

Type :help for more information. 

 

scala> 

现在让我们告诉Spark Master,S3存储的详细信息,在上文所示的Scale提示符中输入以下配置:

sc.hadoopConfiguration.set("fs.s3a.endpoint", "https://s3.amazonaws.com") 

sc.hadoopConfiguration.set("fs.s3a.access.key", "s3-access-key") 

sc.hadoopConfiguration.set("fs.s3a.secret.key", "s3-secret-key") 

现在,只需将以下内容粘贴到Scala提示符中,以提交Spark Job(请记得修改S3相关字段):

import org.apache.spark._ 

import org.apache.spark.rdd.RDD 

import org.apache.spark.util.IntParam 

import org.apache.spark.sql.SQLContext 

import org.apache.spark.graphx._ 

import org.apache.spark.graphx.util.GraphGenerators 

import org.apache.spark.mllib.regression.LabeledPoint 

import org.apache.spark.mllib.linalg.Vectors 

import org.apache.spark.mllib.tree.DecisionTree 

import org.apache.spark.mllib.tree.model.DecisionTreeModel 

import org.apache.spark.mllib.util.MLUtils 

 

val conf = new SparkConf().setAppName("YouTube") 

val sqlContext = new SQLContext(sc) 

 

import sqlContext.implicits._ 

import sqlContext._ 

 

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

推荐文章
    热点阅读