Spark SQL 的离线数仓开发
文章目录
- 1. SparkSQL的离线数仓开发
- 1.1 Spark SQL 的元数据管理
- DataFrame数据
- Hive的映射表
- Spark的映射表
- 1.2 配置Spark的metastore服务
- 1.3 启动服务
1. SparkSQL的离线数仓开发
1.1 Spark SQL 的元数据管理
DataFrame数据
dataframe中的结构化数据管理
dataframe中通过StructType保存管理表的元数据
dataframe中通过Row保存管理行数据
dateframe可以形成一张表
Hive的映射表
在数据仓库中通过映射表管理结构化数据
表元数据 通过hive的metastore管理
表的行数据 通过hdfs的文件进行管理
对映射表进行HiveSQL开发
Spark的映射表
Spark可以将数据转为映射表数据
表的元数据 还是使用metastore管理
表的行数据 使用hdfs的文件进行存储管理
在开发时使用SparkSQL客户端
1.2 配置Spark的metastore服务
将hive的hive-site.xml配置文件拷贝到spark的conf目录下。
cp /export/server/hive/conf/hive-site.xml /export/server/spark/conf/
1.3 启动服务
- 启动metastore服务
nohup hive --service metastore >> /export/server/hive/metastore.log 2>&1 &
- 启动thrifserver服务
- sparkSQL使用thrifserver连接
/export/server/spark/sbin/start-thriftserver.sh --hiveconf hive.server2.thrift.port=10001 --hiveconf hive.server2.thrift.bind.host=node1 --conf spark.sql.warehouse.dir=hdfs://node1:8020/user/hive/warehouse
- 参数说明
- hive.server2.thrift.port 指定运行端口号
- hive.server2.thrift.bind.host 指定运行的服务器
- spark.sql.warehouse.dir 指定数仓路径