设为首页 加入收藏

TOP

Zeppelin组件配置和使用:连接Spark
2019-05-03 01:12:07 】 浏览:242
Tags:Zeppelin 组件 配置 使用 连接 Spark

Spark的核心分析栈包括Spark Core、Spark SQL、Spark Streaming、MLlib、GraphX等,面向批处理、流处理、图计算、机器学习等场景,实现了生态融合统一,基于相同的数据结构,可实现不同类型的计算任务。
在这里插入图片描述
Zeppelin针对spark提供了强大的语言解释器,常见的解释器包括:

  • %spark 运行scala代码,发送至Spark Core引擎执行
  • %sql 运行SparkSQL
  • %pyspark 运行python代码,发送至Spark Core引擎执行
  • %r 运行R代码,发送至SparkR引擎执行

本文以Spark的本地运行模式为例,介绍如何在Zeppelin中连接Spark引擎进行数据分析。

环境及版本信息

操作系统:CentOS 7.2
Zeppelin: 0.8.1
Spark: 2.3.2

配置spark解释器

Zeppelin默认的spark解释器包括%spark , %sql , %dep , %pyspark , %ipyspark , %r等子解释器,在实际应用中根据spark集群的参数修改具体的属性。
进入解释器配置界面,定位到spark解释器,修改master以下属性。

  • master
    spark的运行模式,默认为local[*],spark采用何种运行模式,参数可做以下配置:

local模式:使用local[*],[]中为线程数,*代表线程数与计算机的CPU核心数一致
standalone模式: 使用spark://master:7077
yarn模式:使用yarn-client或yarn-cluster
mesos模式:使用mesos://zk://zk1:2181,zk2:2182,zk3:2181/mesos或mesos://host:5050

在这里插入图片描述

测试

运行Zeppelin自带的Basic Features (Spark)案例。
本案例以银行分析数据bank.csv为例(下载地址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")

在这里插入图片描述

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇        .. 下一篇Scala   WordCount

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目