文章目录
1、服务启动
bash
# 启动hdfs和yarn
start-all.sh
# 日志服务也需要启动一下
mapred --daemon start historyserver
# 启动spark的日志服务
/opt/installs/spark/sbin/start-history-server.sh
#启动hive的metastore服务
h-server start metastore
2、修改配置
bash
cd /opt/installs/spark/conf
# 新增:hive-site.xml
vi hive-site.xml
bash
# 在这个文件中,编写如下配置:
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.uris</name>
<value>thrift://bigdata01:9083</value>
</property>
</configuration>
# 接着将该文件进行分发:
xsync.sh hive-site.xml
xsync是一个自己编写的shell脚本,脚本编写详情链接:
大数据集群搭建以及使用过程中几个实用的shell脚本
3、验证
linux黑窗口进入spark:
bash
/opt/installs/spark/bin/pyspark --master local[2]
进入后,通过内置对象spark,查询hive数据库或者表:
bash
spark.sql("show databases").show()
spark.sql("select * from mydb01.student").show()
4、开发环境编写代码操作hive
其中环境需要修改成自己的路径:
python
import os
import re
from pyspark.sql import SparkSession
if __name__ == '__main__':
# 配置环境
os.environ['JAVA_HOME'] = 'D:/devs/javajdk/jdk8'
# 配置Hadoop的路径,就是前面解压的那个路径
os.environ['HADOOP_HOME'] = 'D:/learn_tools/hadoop-3.3.1'
# 配置base环境Python解析器的路径
os.environ['PYSPARK_PYTHON'] = 'D:/learn_apps/anaconda/python.exe' # 配置base环境Python解析器的路径
os.environ['PYSPARK_DRIVER_PYTHON'] = 'D:/learn_apps/anaconda/python.exe'
os.environ['HADOOP_USER_NAME'] = 'root'
spark = SparkSession \
.builder \
.appName("HiveAPP") \
.master("local[2]") \
.config("spark.sql.warehouse.dir", 'hdfs://node01:9820/user/hive/warehouse') \
.config('hive.metastore.uris', 'thrift://node01:9083') \
.config("spark.sql.shuffle.partitions", 2) \
.enableHiveSupport() \
.getOrCreate()
# 查询所有数学课程成绩大于语文课程成绩的学生学号
resultDf = spark.sql("""
select * from mydb01.t1
""")
resultDf.show()
spark.stop()