Spark 学习(十一) spark使用hive的元数据信息
一,简介
二,shell方式配置和使用hive元数据信息
2.1 文件配置
2.2 驱动包加载
2.3 命令行启动
三,IDEA编程方式使用hive元数据信息
3.1 添加依赖
3.2 程序示例
正文
一,简介
跟hive没太的关系,就是使用了hive的标准(HQL, 元数据库、UDF、序列化、反序列化机制)。Hive On Spark 使用RDD(DataFrame),然后运行在spark 集群上。
二,shell方式配置和使用hive元数据信息
2.1 文件配置
配置和hive的配置一致,所以只需要我们把hive的配置文件hive-site.xml拷贝到一份到spark的conf目录下就可以。
命令:
cp hive-site.xml /usr/local/hadoop/spark/spark-2.3.3/conf/
2.2 驱动包加载
因为要链接mysql,从mysql中读取元数据,所以需要mysql的驱动包进行加载。
2.3 命令行启动
./spark-sql --master spark://hd1:7077 --driver-class-path /usr/local/hadoop/hive/apache-hive-1.2.1-bin/lib/mysql-connector-java-5.1.39.jar
参数解释:
--driver-class-path mysql驱动包的路径 --master 使用spark的链接
三,IDEA编程方式使用hive元数据信息
3.1 添加依赖和配置文件
依赖添加:注意除了hive依赖,mysql的驱动依赖也要添加
全部依赖:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>cn.edu360.sparkLearn</groupId><artifactId>sparkTest</artifactId><version>1.0-SNAPSHOT</version><properties><maven.compiler.source>1.8</maven.compiler.source><maven.compiler.target>1.8</maven.compiler.target><scala.version>2.11.8</scala.version><spark.version>2.3.3</spark.version><hadoop.version>2.8.5</hadoop.version><encoding>UTF-8</encoding></properties><dependencies><!-- 导入scala的依赖 --><dependency><groupId>org.scala-lang</groupId><artifactId>scala-library</artifactId><version>${scala.version}</version></dependency><!-- 导入spark的依赖 --><dependency><groupId>org.apache.spark</groupId><artifactId>spark-core_2.11</artifactId><version>${spark.version}</version></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.38</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-sql_2.11</artifactId><version>${spark.version}</version></dependency><!-- 指定hadoop-client API的版本 --><dependency><groupId>org.apache.hadoop</groupId><artifactId>hadoop-client</artifactId><version>${hadoop.version}</version></dependency><dependency><groupId>org.apache.spark</groupId><artifactId>spark-hive_2.11</artifactId><version>${spark.version}</version></dependency></dependencies><build><pluginManagement><plugins><!-- 编译scala的插件 --><plugin><groupId>net.alchim31.maven</groupId><artifactId>scala-maven-plugin</artifactId><version>3.2.2</version></plugin><!-- 编译java的插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.5.1</version></plugin></plugins></pluginManagement><plugins><plugin><groupId>net.alchim31.maven</groupId><artifactId>scala-maven-plugin</artifactId><executions><execution><id>scala-compile-first</id><phase>process-resources</phase><goals><goal>add-source</goal><goal>compile</goal></goals></execution><execution><id>scala-test-compile</id><phase>process-test-resources</phase><goals><goal>testCompile</goal></goals></execution></executions></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><executions><execution><phase>compile</phase><goals><goal>compile</goal></goals></execution></executions></plugin><!-- 打jar插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-shade-plugin</artifactId><version>2.4.3</version><executions><execution><phase>package</phase><goals><goal>shade</goal></goals><configuration><filters><filter><artifact>*:*</artifact><excludes><exclude>META-INF/*.SF</exclude><exclude>META-INF/*.DSA</exclude><exclude>META-INF/*.RSA</exclude></excludes></filter></filters></configuration></execution></executions></plugin></plugins></build> </project>
View Code
<dependency><groupId>org.apache.spark</groupId><artifactId>spark-hive_2.11</artifactId><version>${spark.version}</version> </dependency>
配置文件添加:
将hive-site.xml的配置文件添加到项目中。
3.2 程序示例
package cn.edu360.spark08import org.apache.spark.sql.{DataFrame, SparkSession}object HiveTest {def main(args: Array[String]): Unit = {val spark: SparkSession = SparkSession.builder().appName("HiveTest").master("local[*]").enableHiveSupport().getOrCreate()val result: DataFrame = spark.sql("show databases")result.show()spark.stop()}}
转载于:https://www.cnblogs.com/tashanzhishi/p/11004673.html
Spark 学习(十一) spark使用hive的元数据信息相关推荐
- Spark学习之Spark调优与调试(7)
Spark学习之Spark调优与调试(7) 1. 对Spark进行调优与调试通常需要修改Spark应用运行时配置的选项. 当创建一个SparkContext时就会创建一个SparkConf实例. 2. ...
- Spark学习之Spark Streaming(9)
Spark学习之Spark Streaming(9) 1. Spark Streaming允许用户使用一套和批处理非常接近的API来编写流式计算应用,这就可以大量重用批处理应用的技术甚至代码. 2. ...
- Spark学习之Spark初识
一.什么是Spark Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎.Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Had ...
- Spark学习之Spark Streaming
一.简介 许多应用需要即时处理收到的数据,例如用来实时追踪页面访问统计的应用.训练机器学习模型的应用,还有自动检测异常的应用.Spark Streaming 是 Spark 为这些应用而设计的模型.它 ...
- Spark学习之Spark RDD算子
个人主页zicesun.com 这里,从源码的角度总结一下Spark RDD算子的用法. 单值型Transformation算子 map /*** Return a new RDD by applyi ...
- Spark学习之spark集群搭建
(推广一下自己的个人主页 zicesun.com) 本文讲介绍如何搭建spark集群. 搭建spark集群需要进行一下几件事情: 集群配置ssh无秘登录 java jdk1.8 scala-2.11. ...
- Spark学习:spark读取HBase数据报异常java.io.NotSerializableException
1.准备工作,安装好HABSE之后,执行Hbase shell create '表名称', '列名称1','列名称2','列名称N' create '表名称','列族名称' 在hbase中列是可以动态 ...
- Spark学习笔记 --- Spark Streaming 与 Stom 比较
对比点 Storm
- sparkcore分区_Spark学习:Spark源码和调优简介 Spark Core (二)
本文基于 Spark 2.4.4 版本的源码,试图分析其 Core 模块的部分实现原理,其中如有错误,请指正.为了简化论述,将部分细节放到了源码中作为注释,因此正文中是主要内容. 第一部分内容见: S ...
最新文章
- Python Qt GUI设计:QMainWindow、QWidget和QDialog窗口类(基础篇—10)
- 【跃迁之路】【731天】程序员高效学习方法论探索系列(实验阶段488-2019.2.21)...
- 【Python-ML】SKlearn库决策树(DecisionRegression) 使用
- Golang之Ginkgo、Gomega测试框架
- 力士乐伺服电机编码器调零_力士乐伺服电机编码器故障维修来这里
- 【算法图解|5】javaScript求两个数的最大公约数
- nginx 一个请求发给多台机器_配置Nginx实现负载均衡
- 第五团队谷歌浏览器软件与用户体验调查与分析
- python列表元组字典集合实验心得_python心得 元组,字典,集合
- my ReadBook_4juan / zikao / zixuekaoshi
- 飞翔(风吹)的flash文字
- 从零开始做小程序(三)——引入组件库
- java 裁剪 pdf_java使用itext按页码拆分pdf文件
- 赵小楼《天道》《遥远的救世主》深度解析(38)丁元英的“自嘲”和作者豆豆的深意
- MTK手机软件系统工程和配置简介
- 母牛生小牛java_Java实现:工厂有一头母牛,一年生一头小母牛,小母牛五年后可以生小牛,问20年工厂有多少头牛?...
- 【最佳实践】分布式数据库对接开源监控软件
- oracle gc buffur,【性能調優】Oracle AWR報告指標全解析
- idea 自动同步文件本地内容设置
- 模拟cmos集成电路(3)
热门文章
- SQL Server上的审计表和数据版本控制
- 为何要搞 10 年?方舟编译器专家首次回应
- 使用.NET Core 3.0 预览版,Web API和Visual Studio 2019进行ASP.NET Core Blazor游戏开发
- 加速ASP.NET Core WEB API应用程序——第2部分
- 大工18春计算机文化基础在线测试1,大工18春《计算机文化基础》在线测试1(满分答案)...
- linux中网卡的流量怎么通过c语言获取_用Python获取计算机网卡信息
- fpga驱动oled iic显示代码_【接口时序】6、IIC总线的原理与Verilog实现
- 微信小程序 不能跳转页面 跳转不生效
- byte 合并 java_java合并byte
- android 桥梁模式,【设计模式】桥接模式