OpenShift 4 - 运行Spark和Zeppelin大数据应用
《OpenShift 4.x HOL教程汇总》
- 创建项目
oc new-project spark-cluster
oc adm policy add-scc-to-user anyuid -z default –n spark-cluster
- 部署spark环境
oc create -f https://raw.githubusercontent.com/liuxiaoyu-git/kubernetes-spark/master/spark-master-controller.yaml
oc create -f https://raw.githubusercontent.com/liuxiaoyu-git/kubernetes-spark/master/spark-master-service.yaml
oc create -f https://raw.githubusercontent.com/liuxiaoyu-git/kubernetes-spark/master/spark-webui.yaml
oc create -f https://raw.githubusercontent.com/liuxiaoyu-git/kubernetes-spark/master/spark-worker-controller.yaml
oc expose service spark-webui
oc get pods
NAME READY STATUS RESTARTS AGE
spark-master-controller-4fdlc 1/1 Running 0 11h
spark-worker-controller-kkvn8 1/1 Running 0 10h
spark-worker-controller-z455w 1/1 Running 0 10h
- 部署zeppelin环境
oc create -f https://raw.githubusercontent.com/liuxiaoyu-git/kubernetes-spark/master/zeppelin-controller.yaml
oc create -f https://raw.githubusercontent.com/liuxiaoyu-git/kubernetes-spark/master/zeppelin-service.yaml
oc expose service zeppelin
oc get pods
- 查看Route
$ oc get route
NAME HOST/PORT PATH SERVICES PORT TERMINATION WILDCARD
spark-webui spark-webui-spark-cluster.apps.cluster-beijing-46f8.beijing-46f8.example.opentlc.com spark-webui 8080 None
zeppelin zeppelin-spark-cluster.apps.cluster-beijing-46f8.beijing-46f8.example.opentlc.com zeppelin 8080 None
- 用Firefox浏览器打开zeppelin的Route对应地址。
- 点击上图的Create new note链接,然后在弹出窗口点击Create Note按钮。
- 在窗口中的空白区填入以下代码。它从“https://s3.amazonaws.com/apache-zeppelin/tutorial/bank/bank.csv”加载数据。
import org.apache.commons.io.IOUtils
import java.net.URL
import java.nio.charset.Charset// Zeppelin creates and injects sc (SparkContext) and sqlContext (HiveContext or SqlContext)
// So you don't need create them manually// load bank data
val bankText = sc.parallelize(IOUtils.toString(new URL("https://s3.amazonaws.com/apache-zeppelin/tutorial/bank/bank.csv"),Charset.forName("utf8")).split("\n"))case class Bank(age: Integer, job: String, marital: String, education: String, balance: Integer)val bank = bankText.map(s => s.split(";")).filter(s => s(0) != "\"age\"").map(s => Bank(s(0).toInt, s(1).replaceAll("\"", ""),s(2).replaceAll("\"", ""),s(3).replaceAll("\"", ""),s(5).replaceAll("\"", "").toInt)
).toDF()
bank.registerTempTable("bank")
8. 点击上图READY右侧的Run图标。在完成运行后会显示FINISHED。
9. 在下方新的窗口中填入下面查询sql(查询统计不同年龄的人员数量),然后点击右侧的Run图标。
%sql
select age, count(1) value
from bank
where age < 30
group by age
- 在完成运行后会显示统计结果,然后可选择不同的图例。
- 在一个新的窗口中填入下面sql,然后Run,在完成后查看统计结果。
%sql
select age, count(1) value
from bank
where marital="${marital=single,single|divorced|married}"
group by age
order by age
参考:
http://people.redhat.com/mhepburn/openshift-v3-workshop/25.%20Data%20Science%20for%20Beginners.md.html
OpenShift 4 - 运行Spark和Zeppelin大数据应用相关推荐
- 《Spark商业案例与性能调优实战100课》第6课:商业案例之通过Spark SQL实现大数据电影用户行为分析
<Spark商业案例与性能调优实战100课>第6课:商业案例之通过Spark SQL实现大数据电影用户行为分析 package com.dt.spark.sparksqlimport or ...
- hadoop,spark,scala,flink 大数据分布式系统汇总
20220314 https://shimo.im/docs/YcPW8YY3T6dT86dV/read 尚硅谷大数据文档资料 iceberg相当于对hive的读写,starrocks相当于对mysq ...
- spark简介(大数据技术)
Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎.Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapRedu ...
- spark 广播变量大数据_大数据处理 | Spark集群搭建及基本使用
点击蓝字关注我 前面用了一篇文章详细的介绍了集群HDFS文件系统的搭建,HDFS文件系统只是一个用于存储数据的系统,它主要是用来服务于大数据计算框架,例如MapReduce.Spark,本文就接着上一 ...
- hadoop+Spark实战基于大数据技术之电视收视率企业项目实战
课程简介 本课程将通过一个电视收视率项目实战驱动讲解,项目案例是国内的一家广电企业作为非洲国家的一个运营商,以用户收视行为数据作为基础数据,通过对频道和节目的分析,采用多维度统计分析的方法挖掘用户的收 ...
- Spark项目实战:大数据实时流处理日志(非常详细)
实战概览 一.实战内容 二.大数据实时流处理分析系统简介 1.需求 2.背景及架构 三.实战所用到的架构和涉及的知识 1.后端架构 2.前端框架 四.项目实战 1.后端开发实战 1.构建项目 2.引入 ...
- 【Spark】黑马-大数据开发2
Scala+Spark-大数据开发复习课程 10.scala 10.1.scala介绍 10.2.scala解释器 10.3.scala的基本语法 10.3.1.声明变量 10.3.2.字符串 10. ...
- spark入门_[大数据之Spark]——快速入门
为了良好的阅读下面的文档,最好是结合实际的练习.首先需要下载spark,然后安装hdfs,可以下载任意版本的hdfs. Spark Shell 交互 基本操作 Spark Shell提供给用户一个简单 ...
- Flume+Kafka+Spark Streaming实现大数据实时流式数据采集
近年来,随着企业信息化建设的飞速发展,大数据应用的问题越来越备受关注.很多企业投入大量的人力.物力和财力建设企业大数据平台,平台建设工作涵盖数据采集.数据处理.数据存储.数据服务.数据展示以及数据质量 ...
最新文章
- 数据库与操作系统时区更改
- Leangoo_多团队,大规模敏捷开发实现过程
- APUE读书笔记-第14章-高级I/O
- 《正则表达式经典实例(第2版)》——2.19 在替代文本中添加字面文本
- 流感疫情严重 港府宣布全港幼儿园26日起提前放假
- 主从mysql能过滤指定dml吗_MyCat教程二:mysql主从复制实现 - HG-93
- Oracle Grid Infrastructure: Understanding Split-Brain Node Eviction (文档 ID 1546004.1)
- 关于jboss在jdk6下webservice不正常问题的解决
- C语言字符篇(五)内存函数
- syslinux下载链接
- 复选框java_java之swing实现复选框的方法
- Win10添加Loopback网卡
- Chrome浏览器更新后,无法调用Lodop打印
- 志金庸小说里,让你印象最深的是哪一段?
- WPF中的自定义控件模板
- 计算机专业研究生阶段有几大研究方向可以选择
- 如何快速检索PDF文档中的关键词?
- python调用谷歌地图_使用Python调用谷歌地图并记录运动轨迹进行可视化
- 欧拉角和四元数相互转换
- 和尚吃馒头c语言程序,(八十一)约瑟夫环/鲁智深吃馒头
热门文章
- 春风app一直显示服务器内部错误,CHANGES.md
- win10动态壁纸怎么设置_电脑怎么设置动态桌面
- 设计灵感|优秀案例教你如何像杂志一样排版?
- fastdfs文件上传 read timeout_121FastDFS实现文件上传下载
- Ubuntu16.04 Swap的开闭
- Linux kernel 国内repo
- ASN.1编解码:asn1c-ORAN-E2AP编解码示例
- Linux内核:了解Linux内核抢占
- 内存管理:Linux Memory Management:MMU、段、分页、PAE、Cache、TLB
- Nginx 介绍与Linux下安装配置