目录
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.youkuaiyun.com/a774630093/article/details/79270080
删除mysql:https://blog.youkuaiyun.com/li_wei_quan/article/details/78549891
mysql启动失败:https://blog.youkuaiyun.com/chenli195/article/details/71403811