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"?>
将mysql的驱动jar包放入spark的jars目录
确保Hive配置了metaStore相关的服务,检查hive配置文件目录内的hive-site.xml,确保有如下的配置:
启动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()