Spark下自身集成的Hive的使用

目录

1、安装mysql

2、创建用户

3、测试原始spark-sql

4、连接mysql数据库

5.启动spark sql时候,执行sql


1、安装mysql

ubuntu下安装mysql-server

apt-get install mysql-server

创建过程中输入密码 , 然后再次输入密码

安装成功后检验一下 mysql -uroot -p

输入密码

登录成功


Centos7下,安装MySQL5.7

安装完毕后检查mysql的版本,出现下述错误,是因为权限的问题

]# chown -R openscanner:openscanner /var/lib/mysql 这一步可以跳过!!!

查看端口状况:netstat -ntlp  | grep 3306

 

查看mysqlid ps -ef | grep mysqlid


2、创建用户

创建一个新的用户hive并授权,更新权限,退出root用户,使用新创建的用户hive进行登录

create user 'hive' identified by 'hive'

grant all privileges on *.*  to hive with grant option

GRANT ALL PRIVILEGES ON hivedb.* TO 'hvie'@'%' IDENTIFIED BY 'pasword' WITH GRANT OPTION;

flush privileges


3、测试原始spark-sql

创建好之后,使用spark-sql命令。启动spark-sql,使用默认的元数据管理derby数据库

执行命令 bin/spark-sql --master spark://hadoop101:7077

4、连接mysql数据库

将mysql JDBC的驱动放入spark目录中的lib目录下,或者通过参数的方式指定驱动 --driver-class-path

希望spark-sql访问元数据信息,创建一个hive-site.xml,配置好相关的信息,包括数据库、数据库驱动、用户名、用户密码

<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
这里表明由sparksql创建数据库hivedb
    <value>jdbc:mysql://hadoop101:3306/hivedb?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>

  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>

  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>hive</value>
    <description>username to use against metastore database</description>
  </property>

  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
    <description>password to use against metastore database</description>
  </property>
  
</configuration>

启动spark-sql

bin/spark-sql --master spark://hadoop101:7077 --driver-class-path mysql驱动所在位置

查看数据库

启动完之后测试:

创建一张用户表

create table users  (id bigint,name string) row format delimited fields terminated by ',';

创建表格的时候声明了使用逗号来分割字段,但是插入的数据中没有使用逗号,导致插入数据出现NULL,选数据的时候都显示NULL

写一个数据文件

然后load到表格中

load data local inpath "wenbjian" into table t_name

load data local inpath '/opt/module/user.txt' into table users;

===================================

5.启动spark sql时候,执行sql

spark sql 整合hive,将hive的sql写在一个文件中执行(用-f这个参数)

rpm -qa | grep mariadb 显示mariadb的版本

参考链接: 

centos7下安装Mysql https://blog.csdn.net/a774630093/article/details/79270080

删除mysql:https://blog.csdn.net/li_wei_quan/article/details/78549891

mysql启动失败:https://blog.csdn.net/chenli195/article/details/71403811

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值