实验环境: linux centOS 6.7 vmware虚拟机

spark-1.5.1-bin-hadoop-2.1.0

apache-hive-1.2.1

eclipse 或IntelJIDea 本次使用eclipse.

代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
import org.apache.spark.SparkConf;
import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.DataFrame;
import org.apache.spark.sql.hive.HiveContext;
public class SparkOnHiveDemo {
public static void main(String[] args) {
         
        // 首先还是创建SparkConf
        SparkConf conf = new SparkConf().setAppName("HiveDataSource");
        // 创建JavaSparkContext
        JavaSparkContext sc = new JavaSparkContext(conf);
        // 创建HiveContext,注意,这里,它接收的是SparkContext作为参数,不是JavaSparkContext
        HiveContext hiveContext = new HiveContext(sc.sc());
         
        //1.可以使用HiveContext 下面的sql(xxx语句)执行HiveSQL语句
        //1 .删除表,创建表
        // stars_infos ,stars_scores
        hiveContext.sql("DROP TABLE IF EXISTS stars_infos");
        hiveContext.sql("CREATE TABLE IF NOT EXISTS stars_infos(name STRING,age INT) "
                "row format delimited fields terminated by ','");
         
        //2.向表里面导入数据
        hiveContext.sql("LOAD DATA "
                "LOCAL INPATH "
                "'/root/book/stars_infos.txt' "
                "INTO TABLE stars_infos");
         
        hiveContext.sql("DROP TABLE IF EXISTS stars_scores");
        hiveContext.sql("CREATE TABLE IF NOT EXISTS stars_scores(name STRING,score INT) "
                "row format delimited fields terminated by ','");
        hiveContext.sql("LOAD DATA "
                "LOCAL INPATH "
                "'/root/book/stars_score.txt' "
                "INTO TABLE stars_scores");
         
         
        //3.从一张已经存在的hive表里面拿数据,转换为DF
        DataFrame superStarDataFrame = hiveContext.sql("SELECT si.name,si.age,ss.score "
                "FROM stars_infos si "
                "JOIN stars_scores ss ON si.name=ss.name "
                "WHERE ss.score>=90");
             
        //4.把DF的数据再持久化到hive中去,千万别和registerTemtable搞混了
        hiveContext.sql("DROP TABLE IF EXISTS superStar");
        superStarDataFrame.saveAsTable("superStar");
         
        //5.直接从Hive中得到DF
        hiveContext.table("superStar").show();
         
        sc.close();
    }
}

元数据:

可以下载附件,然后上传到指定的目录下。

把程序打包jar后上传到linux指定的目录下,写一个脚本。脚本附件见正文。具体内容修改即可。

运行脚本就可以了。当然要保证MySQL数据库正常,hive正常。

附件:http://down.51cto.com/data/2366931

本文转自  ChinaUnicom110  51CTO博客,原文链接:http://blog.51cto.com/xingyue2011/1956798

Spark 整合hive 实现数据的读取输出相关推荐

  1. spark整合hive

    目录 spark-shell整合 安装hive 配置信息 启动spark 测试 idea中spark整合 windows下搭建hadoop 配置环境变量 添加文件 idea连接虚拟机 连接文件 连接虚 ...

  2. Spark SQL实战(08)-整合Hive

    1 整合原理及使用 Apache Spark 是一个快速.可扩展的分布式计算引擎,而 Hive 则是一个数据仓库工具,它提供了数据存储和查询功能.在 Spark 中使用 Hive 可以提高数据处理和查 ...

  3. Spark On Hive配置

    查看Spark集群的搭建 Spark On Hive 配置步骤 在Spark客户端安装包下的conf目录中创建文件hive-site.xml,配置hive的metastore路径 <config ...

  4. Spark _25.plus _使用idea读取Hive中的数据加载成DataFrame/DataSet(四)

    对Spark _25 _读取Hive中的数据加载成DataFrame/DataSet(四) https://georgedage.blog.csdn.net/article/details/10309 ...

  5. spark用scala读取hive表数据(不同版本区别)

    spark用scala读取hive表数据 spark1.6写法: val conf = new SparkConf()      val sc = new SparkContext(conf)     ...

  6. 【大数据开发】SparkSQL——Spark对接Hive、Row类、SparkSQL函数、UDF函数(用户自定义函数)、UDAF函数、性能调优、SparkSQL解决数据倾斜

    文章目录 一.Spark对接Hive准备工作 1.1 集群文件下载 1.2 导入依赖 1.3 打开集群metastore服务 二.Spark对接Hive 2.1 查询Hive 2.2 读取MySQL中 ...

  7. 2021年大数据Spark(三十一):Spark On Hive

    目录 Spark On Hive spark-sql中集成Hive Spark代码中集成Hive Spark On Hive Spark SQL模块从发展来说,从Apache Hive框架而来,发展历 ...

  8. spark读取hdfs路径下的数据_Spark读取HDFS数据分区参考

    本文以读取 parquet 文件 / parquet hive table 为例: hive metastore 和 parquet 转化的方式通过 spark.sql.hive.convertMet ...

  9. phoenix+hbase+Spark整合,Spark处理数据操作phoenix入hbase,Spring Cloud整合phoenix

    1 版本要求 Spark版本:spark-2.3.0-bin-hadoop2.7 Phoenix版本:apache-phoenix-4.14.1-HBase-1.4-bin HBASE版本:hbase ...

  10. 漫谈大数据 - Spark on Hive Hive on Spark

    目录 Spark on hive 与 Hive on Spark 的区别 Hive查询流程及原理 Hive将SQL转成MapReduce执行速度慢 Hive On Spark优化 Hive元数据库的功 ...

最新文章

  1. 转载/JSTL/attribute value does not accept any express
  2. GIS配准和配准算法基本概念学习
  3. 蛇哥开局两星机器人视频_虎牙粉丝活动落幕,蛇哥骚男夺冠,拿下季军的吃鸡一姐直播却哭了...
  4. Linux debian设置主机不休眠教程
  5. 前端如何设置背景颜色的透明度 css中的 rgba() 函数详解 :background-color: rgba(255,192,203,0.3)
  6. 我没学过计算机,是怎么接了四个私活还挣了两个 iPad 的?分享一下!
  7. FPGA可综合语句建立原则
  8. 详解Python切片技术
  9. 禁掉或启用firefox 的 javascript 脚本
  10. 64位浮点数_浮点数误差
  11. Linux的xshell命令
  12. MobTech城市智图 | 如何进行商场客群和竞品客群分析?
  13. Android信鸽推送全解
  14. ES6模板字符串if语句判断
  15. 计蒜客习题:迷阵突围
  16. SIMetrix导入MOS管SPICE参数进行仿真的快速方法
  17. Vue3 composition-apisetup 生命周期
  18. 贝叶斯优化(Bayesian Optimization)只需要看这一篇就够了,算法到python实现
  19. mosaic系列板卡,通用针脚与诺瓦塔OEM板卡天宝MB2、BD990及常见20pin、24pin、28pin底板轻松适配
  20. 如何选择外贸crm客户管理系统

热门文章

  1. Atitit 数据处理查询 中的异常标准化草案 jpa jdbc hb  oql规范attilax总结
  2. atitit. web 在线文件管理器最佳实践(1)--- elFinder 的使用流程解决之道 。打开浏览服务器文件夹java .net php
  3. paip.python错误解决4
  4. paip.提升安全性---选择一个安全的加密算法
  5. paip.asp vbs的代码折叠代码结构查看
  6. (转)以太坊(Ethereum ETH)是如何计算难度的
  7. (转)区块链原理最清晰最直观的解释
  8. 浅谈SSD应用和发展趋势
  9. 中国电子技术标准化研究院与Linux基金会战略合作签约仪式圆满落幕
  10. 【电力负荷预测】基于matlab EEMD+IWOA+LSSVM电力负荷预测【含Matlab源码 1810期】