一,简介

二,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的元数据信息相关推荐

  1. Spark学习之Spark调优与调试(7)

    Spark学习之Spark调优与调试(7) 1. 对Spark进行调优与调试通常需要修改Spark应用运行时配置的选项. 当创建一个SparkContext时就会创建一个SparkConf实例. 2. ...

  2. Spark学习之Spark Streaming(9)

    Spark学习之Spark Streaming(9) 1. Spark Streaming允许用户使用一套和批处理非常接近的API来编写流式计算应用,这就可以大量重用批处理应用的技术甚至代码. 2. ...

  3. Spark学习之Spark初识

    一.什么是Spark Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎.Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Had ...

  4. Spark学习之Spark Streaming

    一.简介 许多应用需要即时处理收到的数据,例如用来实时追踪页面访问统计的应用.训练机器学习模型的应用,还有自动检测异常的应用.Spark Streaming 是 Spark 为这些应用而设计的模型.它 ...

  5. Spark学习之Spark RDD算子

    个人主页zicesun.com 这里,从源码的角度总结一下Spark RDD算子的用法. 单值型Transformation算子 map /*** Return a new RDD by applyi ...

  6. Spark学习之spark集群搭建

    (推广一下自己的个人主页 zicesun.com) 本文讲介绍如何搭建spark集群. 搭建spark集群需要进行一下几件事情: 集群配置ssh无秘登录 java jdk1.8 scala-2.11. ...

  7. Spark学习:spark读取HBase数据报异常java.io.NotSerializableException

    1.准备工作,安装好HABSE之后,执行Hbase shell create '表名称', '列名称1','列名称2','列名称N' create '表名称','列族名称' 在hbase中列是可以动态 ...

  8. Spark学习笔记 --- Spark Streaming 与 Stom 比较

    对比点 Storm

  9. sparkcore分区_Spark学习:Spark源码和调优简介 Spark Core (二)

    本文基于 Spark 2.4.4 版本的源码,试图分析其 Core 模块的部分实现原理,其中如有错误,请指正.为了简化论述,将部分细节放到了源码中作为注释,因此正文中是主要内容. 第一部分内容见: S ...

最新文章

  1. Python Qt GUI设计:QMainWindow、QWidget和QDialog窗口类(基础篇—10)
  2. 【跃迁之路】【731天】程序员高效学习方法论探索系列(实验阶段488-2019.2.21)...
  3. 【Python-ML】SKlearn库决策树(DecisionRegression) 使用
  4. Golang之Ginkgo、Gomega测试框架
  5. 力士乐伺服电机编码器调零_力士乐伺服电机编码器故障维修来这里
  6. 【算法图解|5】javaScript求两个数的最大公约数
  7. nginx 一个请求发给多台机器_配置Nginx实现负载均衡
  8. 第五团队谷歌浏览器软件与用户体验调查与分析
  9. python列表元组字典集合实验心得_python心得 元组,字典,集合
  10. my ReadBook_4juan / zikao / zixuekaoshi
  11. 飞翔(风吹)的flash文字
  12. 从零开始做小程序(三)——引入组件库
  13. java 裁剪 pdf_java使用itext按页码拆分pdf文件
  14. 赵小楼《天道》《遥远的救世主》深度解析(38)丁元英的“自嘲”和作者豆豆的深意
  15. MTK手机软件系统工程和配置简介
  16. 母牛生小牛java_Java实现:工厂有一头母牛,一年生一头小母牛,小母牛五年后可以生小牛,问20年工厂有多少头牛?...
  17. 【最佳实践】分布式数据库对接开源监控软件
  18. oracle gc buffur,【性能調優】Oracle AWR報告指標全解析
  19. idea 自动同步文件本地内容设置
  20. 模拟cmos集成电路(3)

热门文章

  1. SQL Server上的审计表和数据版本控制
  2. 为何要搞 10 年?方舟编译器专家首次回应
  3. 使用.NET Core 3.0 预览版,Web API和Visual Studio 2019进行ASP.NET Core Blazor游戏开发
  4. 加速ASP.NET Core WEB API应用程序——第2部分
  5. 大工18春计算机文化基础在线测试1,大工18春《计算机文化基础》在线测试1(满分答案)...
  6. linux中网卡的流量怎么通过c语言获取_用Python获取计算机网卡信息
  7. fpga驱动oled iic显示代码_【接口时序】6、IIC总线的原理与Verilog实现
  8. 微信小程序 不能跳转页面 跳转不生效
  9. byte 合并 java_java合并byte
  10. android 桥梁模式,【设计模式】桥接模式