目录

Spark On Hive

spark-sql中集成Hive

Spark代码中集成Hive


Spark On Hive

Spark SQL模块从发展来说,从Apache Hive框架而来,发展历程:Hive(MapReduce)-> Shark (Hive on Spark) -> Spark SQL(SchemaRDD -> DataFrame -> Dataset),所以SparkSQL天然无缝集成Hive,可以加载Hive表数据进行分析。

http://spark.apache.org/docs/latest/sql-data-sources-hive-tables.html

spark-sql中集成Hive

SparkSQL集成Hive本质就是:读取Hive框架元数据MetaStore,此处启动Hive MetaStore服务即可

nohup /export/server/hive/bin/hive --service metastore &

编写配置文件hive-site.xml,并放于node1的【$SPARK_HOME/conf】目录

cd /export/server/spark/conf/

vim hive-site.xml

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

也可以将hive-site.xml分发到集群中所有Spark的conf目录,此时任意机器启动应用都可以访问Hive表数据。

使用sparksql操作hive

/export/server/spark/bin/spark-sql --master local[2] --conf spark.sql.shuffle.partitions=2

show database;

show tables;

CREATE TABLE person (id int, name string, age int) row format delimited fields terminated by ' ';

LOAD DATA LOCAL INPATH 'file:///root/person.txt' INTO TABLE person;

show tables;

select * from person;

​​​​​​​Spark代码中集成Hive

在IDEA中开发应用,集成Hive,读取表的数据进行分析,构建SparkSession时需要设置HiveMetaStore服务器地址及集成Hive选项,首先添加MAVEN依赖包:

<!--SparkSQL+ Hive依赖--><dependency><groupId>org.apache.spark</groupId><artifactId>spark-hive_2.11</artifactId><version>${spark.version}</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-hive-thriftserver_2.11</artifactId><version>${spark.version}</version></dependency>

范例演示代码如下:


package cn.it.sqlimport org.apache.spark.SparkContext
import org.apache.spark.sql.SparkSession/*** SparkSQL集成Hive*/
object SparkSQLHive {def main(args: Array[String]): Unit = {val spark: SparkSession = SparkSession.builder().appName(this.getClass.getSimpleName.stripSuffix("$")).master("local[*]").config("spark.sql.shuffle.partitions", "4").config("spark.sql.warehouse.dir", "hdfs://node1:8020/user/hive/warehouse").config("hive.metastore.uris", "thrift://node3:9083").enableHiveSupport()//开启hive语法的支持.getOrCreate()val sc: SparkContext = spark.sparkContextsc.setLogLevel("WARN")import spark.implicits._import org.apache.spark.sql.functions._//查看有哪些表spark.sql("show tables").show()//创建表spark.sql("CREATE TABLE person2 (id int, name string, age int) row format delimited fields terminated by ' '")//加载数据spark.sql("LOAD DATA LOCAL INPATH 'file:///D:/person.txt' INTO TABLE person2")//查看有哪些表spark.sql("show tables").show()//查询数据spark.sql("select * from person2").show()}
}

2021年大数据Spark(三十一):Spark On Hive相关推荐

  1. 2021年大数据Kafka(十一):❤️Kafka的消费者负载均衡机制和数据积压问题❤️

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka的消费者负载均衡机制和数据积压问题 一.kafka ...

  2. 2021年大数据HBase(十一):Apache Phoenix的视图操作

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Apache Phoenix的视图操作 一.应用场景 ...

  3. 2021年大数据Hadoop(十一):HDFS的元数据辅助管理

    2021大数据领域优质创作博客,带你从入门到精通,该博客每天更新,逐渐完善大数据各个知识体系的文章,帮助大家更高效学习. 有对大数据感兴趣的可以关注微信公众号:三帮大数据 目录 HDFS的元数据辅助管 ...

  4. 2021年大数据ELK(十一):Elasticsearch架构原理

    全网最详细的大数据ELK文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 Elasticsearch架构原理 一.Elasticsearch的节点类型 ...

  5. 2021年大数据Flink(十一):流批一体API Source

    目录 Source 预定义Source 基于集合的Source 基于文件的Source ​​​​​​​基于Socket的Source 自定义Source 随机生成数据 ​​​​​​​MySQL Sou ...

  6. 2021年大数据Hadoop(三十):Hadoop3.x的介绍

    全网最详细的Hadoop文章系列,强烈建议收藏加关注! 后面更新文章都会列出历史文章目录,帮助大家回顾知识重点. 目录 本系列历史文章 前言 Hadoop3.x的介绍 介绍 Hadoop 3.0新特性 ...

  7. 2021年大数据Kafka(三):❤️Kafka的集群搭建以及shell启动命令脚本编写❤️

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 Kafka的集群搭建以及shell启动命令脚本编写 一.搭建 ...

  8. 2021年大数据HBase(三):HBase数据模型!!!【建议收藏】

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 系列历史文章 前言 Hbase数据模型 术语: 系列历史文章 2021年大 ...

  9. 2021年大数据Kafka(一):❤️消息队列和Kafka的基本介绍❤️

    全网最详细的大数据Kafka文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 消息队列和Kafka的基本介绍 一.什么是消息队列 二.消息队列的应用场景 ...

  10. 2021年大数据HBase(八):Apache Phoenix的基本介绍

    全网最详细的大数据HBase文章系列,强烈建议收藏加关注! 新文章都已经列出历史文章目录,帮助大家回顾前面的知识重点. 目录 前言 系列历史文章 Apache Phoenix的基本介绍 Apache ...

最新文章

  1. python的opencv模块_OpenCV Python - 没有名为cv2的模块(再次)
  2. mysql迁移至postgresql_PostgreSQL来自欧罗巴Patroni系列技术主题一
  3. 互联网晚报 | 11月13日 星期六 | 腾讯、抖音商谈对等开放;荣耀电商平台粉丝破亿;碧桂园杨惠妍第九次成为中国女首富...
  4. Nginx设置禁止通过IP访问服务器
  5. dtoj#4179. 排行(rank)
  6. spring 相关框架面试题
  7. matlab生猪的出售时机,数学模型程序代码-Matlab-姜启源-第三章-简单的优化模型.doc...
  8. 【蓝桥杯单片机组】两种外设访问方式:IO编程和MM编程
  9. sql 2008 R2 备份和还原
  10. 计算机t恤,PS一分钟技巧!给T恤加个图案竟然这么简单
  11. 智能网联公交的三大发展趋势
  12. Bezier曲线构造
  13. 扇贝编程python学习笔记-基础篇4
  14. 【NYOJ】[845]无主之地1
  15. workers.properties配置详解
  16. [转]一个IT人才的精彩故事
  17. redux和react-redux
  18. 你以为大厂的代码就不烂了?烂成一坨屎...
  19. 联想电脑尺寸在哪里看_联想笔记本型号在哪里看 笔记本电脑品牌有哪些
  20. 【闲谈】暴露IP地址有危险吗?可查到你下过的小电影

热门文章

  1. Docker的安装、镜像源更换与简单应用
  2. deepin初试与file browser使用小结
  3. 2022-2028年中国体育用品行业投资分析及前景预测报告(全卷)
  4. 2022-2028年中国输配电设备全产业链投资分析及前景预测报告
  5. Go 学习笔记(65)— Go 中函数参数是传值还是传引用
  6. SpringCloud配置文件 application.yml和 bootstrap.yml区别,执行顺序
  7. python yield 和 return 对比分析
  8. Hexo集成Algolia实现搜索功能
  9. 最新Maven及Tomcat配置~(IDEA版 试错无数!)
  10. 芯片IP,SOC,FPGA智能卡