`
greemranqq
  • 浏览: 977100 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论
阅读更多

一.序言

     这里介绍用idea 跑程序去连接spark-sql->hive-metastore 的小例子,关于服务器上得保证spark-sql/spark-shell 正确执行,然后再用本地的程序去实现,我这里版本用的spark1.4.1+hive1.2.1+hadoop 2.7.1.

 

二.连接代码

     结合笔记1的代码

     2.1 maven 配置:

    

   <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-core_2.10</artifactId>
            <version>1.4.1</version>
        </dependency>
        <!-- 这里如果用hadoop1.2.1 版本,必须引入,上面最好忽略h2 版本 -->
        <!--<dependency>-->
            <!--<groupId>org.apache.hadoop</groupId>-->
            <!--<artifactId>hadoop-client</artifactId>-->
            <!--<version>1.2.1</version>-->
        <!--</dependency>-->
        <dependency>
            <groupId>org.apache.spark</groupId>
            <artifactId>spark-hive_2.10</artifactId>
            <version>1.4.1</version>
        </dependency>

 

 

    2.java 代码

    

 public static final String master = "spark://master:7077";
    public static void main(String[] args) {
        SparkConf conf = new SparkConf().setAppName("demo1").setMaster(master);
        conf.set("spark.executor.memory", "256M");
        JavaSparkContext sc = new JavaSparkContext(conf);
        HiveContext sqlContext = new org.apache.spark.sql.hive.HiveContext(sc.sc());
        DataFrame df = sqlContext.sql("select * from data_center.shop limit 10");
        Row[] rows = df.collect();
        for(Row row : rows){
            System.out.println(row);
        }
    }

 

 

    3.scala 代码

    

object hello extends App {
  
  var master = "spark://master:7077";
  val conf = new org.apache.spark.SparkConf().setAppName("demo").setMaster(master)
  conf.set("spark.executor.memory", "128M").set("worker_max_heapsize", "64M")
  val sc = new org.apache.spark.SparkContext(conf)
  val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)

  sqlContext.sql("use data_center")
  var df = sqlContext.sql("select * from orderinfo limit 10");
  var dd = df.collect();
}

  

 

    4.hive-site.xml 文件配置:

     这里我就不贴出来了,从服务器上拷贝下来的,然后改了些 文件存放的路径就行了。项目目录是:

   

 

三.常见异常:

    3.1 服务器内存不够

WARN TaskSchedulerImpl: Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources

    设置小点就行了:

    

conf.set("spark.executor.memory", "128M")

 

   3.2 版本问题:这里一般是服务器上的版本和本地版本有不一致造成的,看着改吧!

Server IPC version 9 cannot communicate with client version 4

   

  3.3 版本或者 hosts 地址没配对

   

Failed on local exception: java.io.IOException: Connection reset by peer; Host Details : local host is: "xxx/10.1.50.190"; destination host is: "xxx":9000; 

 

   

   3.4还有其他权限,路径 等乱起八糟的问题,看着改就行了

 

小结:

     1.我们数据库数据放到hdfs 上,然后利用spark-sql 进行查询的方式,这里仅仅是简单连接,挺方便的

     2.中途遇到的问题大多是版本问题,如果不用maven 最好把saprk/lib 下面的和 hive/lib hadoop/lib 等下面的文件弄到本地,不容易冲突。

      3.纠结纠结,总会好的~。~ 

 

 

  • 大小: 16.6 KB
0
1
分享到:
评论

相关推荐

    笔记20230425关于spark-sql

    cmd = "ssh root@10.195.11.200 \"/usr/local/spark-3.1.2-bin-hadoop2.7/bin/spark-sql --master spark://gpmaster:7077 --executor-memory 2G --total-executor-cores 2 --conf spark.sql.storeAssignmentPolicy=...

    spark笔记整理文档

    本篇笔记将深入探讨Spark的核心概念、架构设计以及实际应用,旨在帮助读者全面理解并掌握Spark。 1. Spark概述: Spark最初由加州大学伯克利分校AMPLab开发,其设计理念是提供一个快速、通用且可扩展的大数据处理...

    Spark SQL学习笔记

    ### Spark SQL 学习笔记知识点总结 #### 一、Spark SQL 概述 - **定义**:Spark SQL 是 Apache Spark 的一个模块,用于处理结构化数据。它提供了 DataFrame 和 Dataset API,以及支持 SQL 查询的能力。这些特性...

    spark笔记.zip

    "Spark笔记"可能涵盖了以下几个关键知识点: 1. Spark架构:Spark采用Master-Worker模式,Master节点管理任务调度,Worker节点运行任务。Spark的核心组件包括Driver、Executor和Cluster Manager。Driver负责解析并...

    本地调试所需spark-x.x.x-bin-hadoop包

    2. Spark SQL:它是Spark处理结构化数据的模块,能够与Hive、Parquet和其他SQL兼容格式进行交互。Spark SQL通过DataFrame API提供了SQL查询功能,使得开发人员可以使用SQL或者DataFrame API进行数据处理。 3. Spark...

    cassandra-spark-jdbc-bridge:如果要通过JDBC查询Cassandra数据,但想使用Spark SQL的强大功能进行数据处理,则需要此应用程序

    此应用程序(CSJB)是Spark应用程序,它将在Spark SQL中自动将所有Cassandra表注册为架构RDD,并启动嵌入式Apache HiveThriftServer,以使这些RDD准备通过“ jdbc:hive2”协议使用。 使用此网桥/服务器,您可以...

    spark-scala-jupyter:Jupyter笔记本服务器,准备在远程Spark主服务器上运行带有Scala内核的Spark

    Jupyter笔记本服务器准备在远程Spark主服务器上运行带有Scala内核的Spark 在/ 上查看使用自定义jar,SBT打包,集群HDFS,Scala以及在笔记本上进行数据可视化的Scala运行Spark / Scala Notebook的 查看 用法 创建...

    Spark 学习之路,包含 Spark Core,Spark SQL,Spark Streaming,Spark mllib 学

    Spark 学习之路,包含 Spark Core,Spark SQL,Spark Streaming,Spark mllib 学习笔记 * [spark core学习笔记及代码 * [spark sql学习笔记及代码 * [spark streaming学习笔记及代码 Spark 消息通信 ### Spark ...

    spark学习笔记

    本学习笔记集中介绍了Spark SQL在spark-shell中的操作方法,以及如何使用Spark进行数据清洗和转换成DataFrame的操作。 首先,Spark SQL是Spark用于处理结构化数据的一个组件,它提供了SQL接口,可以执行SQL查询。...

    spark-notebook-demo:演示如何使用Spark笔记本

    Jupyter Notebook 是一个开源的Web应用程序,支持多种编程语言,如 Python、R 和 Scala,而 Spark Notebook 特别针对 Scala 和 Spark 优化,使得大数据处理更加便捷。 ### 安装与启动 Spark Notebook 要开始使用 ...

    Spark笔记1.docx

    Spark笔记1.docx Spark 是什么? Spark 是一个基于内存的统一分析引擎,用于大规模数据处理,包括离线计算、实时计算和快速查询(交互式查询)。它具有快、易用和通用等特点,可以进行离线计算、交互式查询、实时...

    spark-source-code-learn-note:火花学习笔记-spark source code

    Spark SQL是Spark处理结构化数据的主要组件,引入DataFrame API,提供了更高级别的抽象,使得SQL查询和程序化操作可以无缝切换。DataFrame通过 Catalyst Optimizer 进行高效的查询优化。 五、Spark Streaming Spark...

    阿里云ossjava源码-spark-notebook-myversion:spark-notebook-myversion

    代码、SQL 查询、标记甚至 JavaScript。 Spark 的使用是开箱即用的,它只是由名为sparkContext的隐式变量启用。 您还应该检查网站,。 讨论 加油! 邮件列表 有两个不同的邮件列表,每个列表都针对特定的讨论: ...

    The-Spark-Foundation-Task-1

    在这里,它将作为编写和展示Spark程序的平台,便于理解和调试代码,同时也方便生成报告或演示。 在压缩包文件 "The-Spark-Foundation-Task-1-main" 中,我们可以期待找到以下内容: 1. **代码文件**:可能包含一个...

    Spark学习笔记之Spark SQL的具体使用

    Spark SQL学习笔记 Spark SQL是Apache Spark平台下的一个模块,提供了一个编程抽象叫做DataFrame,并且作为分布式SQL查询引擎的作用。Spark SQL是Spark平台下的一个重要组件,主要用于处理结构化数据。 Spark SQL...

    Spark学习笔记

    ### Spark学习笔记 #### Spark概览 ##### 1. Spark简介 - **定义**:Apache Spark是一种快速且通用的大规模数据处理系统,旨在为大规模数据处理提供高效的支持。 - **起源**:Spark最初由美国加州大学伯克利分校的...

    spark资料笔记代码

    2. Spark SQL:用于处理结构化数据,支持SQL查询,可以与Hive等数据库集成。 3. Spark Streaming:处理实时流数据,通过微批处理实现高吞吐量。 4. MLlib:机器学习库,提供了多种算法和工具。 5. GraphX:图计算...

Global site tag (gtag.js) - Google Analytics