欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

PySpark之SparkOnHive

时间:2023-05-13
一、原理 一、Hive组件的核心

SQL优化翻译器(执行引擎),翻译SQL到MapRedue并提交到YARN执行metaStore元数据管理中心 二、Spark On Hive解决方案

Spark提供执行引擎能力Hive的metaStore提供元数据管理功能让Spark和metaStore连接起来 三、Spark On Hive的核心

引擎:spark元数据管理:metastore 四、总结

Spark On Hive就是把Hive的metaStore服务拿过来,给Spark做元数据管理用而已

二、配置 在Spark的conf目录中,创建hive-site.xml

<?xml version="1.0"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?> hive.metastore.warehouse.dir /user/hive/warehouse hive.metastore.local false hive.metastore.uris thrift://node1:9083

将mysql的驱动jar包放入spark的jars目录

确保Hive配置了metaStore相关的服务,检查hive配置文件目录内的hive-site.xml,确保有如下的配置:

hive.metastore.uris thrift://node1:9083/value>

启动hive的metaStore服务

nohup /export/server/hive/bin/hive --service metastore 2>&1 >> /var/log/metastore.log &

import osfrom pyspark.sql import SparkSessionos.environ['SPARK_HOME'] = '/export/server/spark'PYSPARK_PYTHON = '/root/anaconda3/envs/pyspark_env/bin/python'os.environ['PYSPARK_PYTHON'] = PYSPARK_PYTHONos.environ['PYSPARK_DRIVER_PYTHON'] = PYSPARK_PYTHONif __name__ == '__main__': spark = SparkSession .builder .appName("test") .master("local[*]") .config("spark.sql.shuffle.partitions","4") .config("spark.sql.warehouse.dir","hdfs://node1:8020/user/hive/warehouse") .config("hive.metastore.uris","thrift://node1:9083") .enableHiveSupport() .getOrCreate() spark.sql("""SELECt * FROM testttt.student""").show()

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。