Spark + Hive 集成 :
Hive架构 , 可插拔的第 三方独立组件 :
SQL 查询的工作过程 :
Spark with Hive 集成方式 :
启动 Hive Metastore
hive --service metastore
Spark 拿 Metastore 访问地址的两种办法 :
hive.metastore.uris
hive-site.xml
拷到 Spark 的 conf 下spark-shell 下写代码 :
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.DataFrameval hiveHost: String = _// 创建SparkSession实例
val spark = SparkSession.builder().config("hive.metastore.uris", s"thrift://hiveHost:9083").enableHiveSupport().getOrCreate()// 读取Hive表,创建DataFrame
val df: DataFrame = spark.sql(“select * from salaries”)
df.show/** 结果打印
+---+------+
| id|salary|
+---+------+
| 1| 26000|
| 2| 30000|
| 4| 25000|
| 3| 20000|
+---+------+
*/
SparkSession + Hive Metastore 集成方式 :
spark-sql CLI 与 Hive Metastore 要在同个节点
用 Beeline 客户端,连接 Spark Thrift Server,从而完成 Hive 表的访问与处理
Hive Server 2 (Hive Thrift Server 2) 采用 Thrift RPC 协议框架
Beeline + Spark Thrift Server 集成 :
启动 Spark Thrift Server :
$SPARK_HOME/sbin/start-thriftserver.sh
Spark Thrift Server 启动后,在任意节点上通过 Beeline 就能访问该服务
beeline -u "jdbc:hive2://hostname:10000"
Hive on Spark :Hive 用 Spark 作为分布式执行引擎
指定 Spark 执行引擎
set hive.execution.engine=spark
上一篇:NTLM协议原理分析
下一篇:Spring-Retry失败重试