抱歉,您的浏览器无法访问本站

本页面需要浏览器支持(启用)JavaScript


了解详情 >
image

1. spark 整合 yarn

rdd.aggregateByKey(init_value: U) ((C, U) => (C,C) => C)

Spark 2.3 on yarn的配置安装

1.1 配置 Spark 整合 YARN

  1. 把 yarn-site.xml 复制到 $SPARK_HOME/conf 目录中
  2. 在使用 spark-submit 提交任务时候请这么执行资源调度系统:

spark-submit --master yarn --deploy-mode client

但是有可能出现异常

1.2 Spark-Shell 测试

1
2
3
4
5
6
7
只能这么启动
spark-shell --master yarn --deploy-mode client

不能这么启动
spark-shell --master yarn --deploy-mode cluster

原因: spark-shell spark-submit driver

原来:

1
2
spark-shell
spark-shell --master local[*]

1.3 Spark-Submit 测试

1
2
3
4
5
6
7
只能这么启动
spark-submit --master yarn --deploy-mode client

也能这么启动
spark-submit --master yarn --deploy-mode cluster

原因: spark-shell spark-submit driver

2. spark 整合 hive

2.1 Spark 自带元数据库 &

如果用户直接运行bin/spark-sql命令。会导致我们的元数据有两种状态:

1、in-memory状态:

如果SPARK-HOME/conf目录下没有放置hive-site.xml文件,元数据的状态就是in-memory, 也就是使用自带的 derby 在当前会话中有效

1
2
3
4
5
create table student(id int, name string, sex string, age int, department string)

row format delimited fields terminated by ","

load data local inpath "/home/.."

spark-sql 在 hadoop02 和 hadoop03 中启动的时候,都各自初始化了一个元数据库

所以在 hadoop02 上创建的元数据库,在 hadoop03 上启动的 spark-sql 不能共用数据.

spark-sql 的使用有2种模式

2.2 Spark 整合hive配置

2、hive状态:

如果我们在SPARK-HOME/conf目录下放置了,hive-site.xml文件,那么默认情况下

spark-sql的元数据的状态就是hive.

image

2.3 SparkSQL 脚本使用

3. sparksql和hive的自定义函数

3.1 SparkSQL UDF

1
show functions;

3.2 SparkSQL UDAF

3.3 使用测试

4. SparkSQL 常用窗口分析函数

5. 综合练习

Reference