Spark和Hive集成(MySql)
一、 编辑hive安装目录下conf目录下的hive-site.xml
更改:hive.metastore.uris
1
2
3
4
5<property> <name>hive.metastore.uris</name> <value>thrift://master:9083</value> <description>Thrift uri for the remote metastore. Used bymetastore client to connect to remote metastore.</description> </property>
二、 将hive-site.xml拷贝到spark安装目录的conf目录下
三、 将hive安装目录lib目录下的mysql驱动包拷贝到spark安装目录的jars目录下
四、 启动元数据metastore
1命令:hive --service metastore &
五、 查看元数据metastore
1命令:jobs
六、 关闭元数据
1
2命令:kill %1
七、 启动spark-sql
启动成功。
查询所有数据库:
八、 测试spark和hive集成(default库)
1. 在hive命令新建表
1
2CREATE TABLE PERSON(NAME STRING,WORK_LOCATIONSARRAY<STRING>) ROW FORMAT DELIMITED FIELDS TERMINATED BY 't' COLLECTIONITEMS TERMINATED BY ',';
2. 新建person.txt
3. 将数据load到新建的person表中
1LOAD DATA LOCAL INPATH '/usr/apps/testsource/person.txt'OVERWRITE INTO TABLE person;
4. 在spark-sql中查询
九、 测试spark和hive集成(自定义库)
1. 在hive命令新建一张表
1CREATE TABLETEST01.SCORE(NAME STRING, SCORE MAP<STRING,INT>) ROW FORMAT DELIMITEDFIELDS TERMINATED BY 't' COLLECTION ITEMS TERMINATED BY ',' MAP KEYS TERMINATEDBY ':';
2. 新建score.txt
3. 将数据load到新建的score表中
1LOAD DATA LOCALINPATH '/usr/apps/testsource/score.txt' OVERWRITE INTO TABLE test01.score;
4. 在spark-sql中查询
1查询:select * from score;
原因:没有指定库名。
1select * from test01.score;
十、 更改日志启动级别
在spark安装目录下的conf目录下log4j.properties中
将INFO改为WARN
十一、 重新启动
最后
以上就是疯狂航空最近收集整理的关于5.4.1Spark和Hive集成(MySql)的全部内容,更多相关5内容请搜索靠谱客的其他文章。
发表评论 取消回复