zoukankan      html  css  js  c++  java
  • [Spark SQL_1] Spark SQL 配置


    0. 说明

      Spark SQL 的配置基于 Spark 集群搭建  && Hive 的安装&配置


    1. 简介

      Spark SQL 是构建在 Spark Core 模块之上的四大模块之一,提供 DataFrame 等丰富 API,可以采用传统的 SQL 语句进行数学计算。运行期间,会通过 Spark 查询优化器翻译产物理执行计划,并行计算后输出结果。底层计算原理仍然采用 RDD 计算实现。


    2. Spark 与 Hive 集成

      2.1 在 Spark 配置目录下创建指向 [hive-site.xml ] 文件的同名符号链接

    cd /soft/spark/conf
    ln -s /soft/hive/conf/hive-site.xml hive-site.xml

      2.2 复制 Hive 元数据库使用的驱动程序到 Spark 的 jars 目录下,比如 MySQL

    cd /soft/hive/lib/
    cp mysql-connector-java-5.1.44.jar /soft/spark/jars

      2.3 关闭 Hive 配置文件 [hive-site.xml] 文件中版本检查,否则会报版本不一致异常

    [centos@s101 ~]$ cd /soft/hive/conf/
    [centos@s101 /soft/hive/conf]$ sudo vi hive-site.xml
      <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
      </property>

    3. 在 Spark shell 中访问 Hive

      3.0 开启 ZooKeeper & HDFS & Spark 集群

      略

      3.1 启动 spark-shell,观察输出内容,打印 Hive 配置信息

    spark-shell --master spark://s101:7077

      

      若成功则如下图所示

      

      3.2 在 Scala 命令行执行如下命令

    # 显示所有数据库
    spark.sql("show databases").show()
     
    # 使用指定数据库
    spark.sql("use mydb").show() 
    
    # 显示当前数据库中的数据表
    spark.sql("show tables").show()
     
    # 查询 customers 表数据
    spark.sql("select * from customers").show(1000,false)
    
    # 构造 RDD
    val rdd1= sc.parallelize(Array((1,"tom1",12) ,(2,"tom2",13) ,(2,"tom3",14) ))
    
    # 转换 RDD 成DataFrame
    val df = rdd1.toDF("id" , "name" , "age")
    
    # 通过 DataFrame select API 实现 SQL 中的 select 语句
    df.select("id").show()
    
    # 注册临时表
    df.registerTempTable("_cust")
    
    # 通过临时表进行数据操纵
    spark.sql("select * from _cust").show(1000 ,false) ;

  • 相关阅读:
    起步学习软件开发(.Net 方向)的指导
    Lesktop开源JS控件库
    软件岗位职责
    asp.net 获取网站根目录总结
    微软是怎样做测试的
    打造WebIM
    CodeSmith 系列一
    Crack .NET
    Visual Studio IDE 实用小技巧3
    程序员公司的选择
  • 原文地址:https://www.cnblogs.com/share23/p/9800500.html
Copyright © 2011-2022 走看看