Spark SQL 集成Hive(一)
1. 背景
- Hive可以看做是一个转换器,将SQL转换为mapreduce或者spark程序
- Spark SQL也可以看成一个转换器,将SQL转换为spark程序
- Hive集成Spark SQL有几种集成方式,一种是直接使用Spark SQL替代Hive,SQL是Spark SQL,程序转换也是Spark 程序,唯一有关联的就是一个hive-site.xml配置文件。本文讲述的就是第一种
- 另外一种集成方式就是SQL还是hive,但执行引擎变成了Spark。这种集成也比较简单,适合此前就使用hive内部执行是mapreduce,现在想要切换到spark执行的业务团队。
2. 集成步骤
2.1. 环境准备
- Spark 2.4.4
- centos 7.x
- jdk 1.8
- mysql 5.7.31
- 注意先创建一个允许跨ip访问的账号,否则会spark会链接补上mysql进行元数据的读写操作
- 注意,尽量不要使用root用户操作,实际企业生产基本不会使用root账号进行业务操作,权限太高,风险太高
2.2 集成
- 创建mysql账号
- 创建hive-site.xml文件,并将这个文件放入spark安装目录的conf目录下
- 启动mysql服务
- 启动spark 服务
- 启动spark sql程序,注意指定参数