`
bit1129
  • 浏览: 1069553 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

【Spark九十五】Spark Shell操作Spark SQL

 
阅读更多

在Spark Shell上,通过创建HiveContext可以直接进行Hive操作

 

1. 操作Hive中已存在的表

 

[hadoop@hadoop bin]$ ./spark-shell
Spark assembly has been built with Hive, including Datanucleus jars on classpath
Welcome to
      ____              __
     / __/__  ___ _____/ /__
    _\ \/ _ \/ _ `/ __/  '_/
   /___/ .__/\_,_/_/ /_/\_\   version 1.2.0
      /_/

Using Scala version 2.10.4 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_67)
Type in expressions to have them evaluated.
Type :help for more information.
Spark context available as sc.

////创建HiveContext
scala> val sqlContext = new org.apache.spark.sql.hive.HiveContext(sc)
sqlContext: org.apache.spark.sql.hive.HiveContext = org.apache.spark.sql.hive.HiveContext@42503a9b

///切换数据库,是一个本地命令,由Hive执行,但是没有生成分布式Job
scala> sqlContext.sql("use default");
res1: org.apache.spark.sql.SchemaRDD = 
SchemaRDD[0] at RDD at SchemaRDD.scala:108
== Query Plan ==
<Native command: executed by Hive>

///显示当前数据库的表,是一个transformation操作,生成RDD
scala> sqlContext.sql("show tables");
res2: org.apache.spark.sql.SchemaRDD = 
SchemaRDD[2] at RDD at SchemaRDD.scala:108
== Query Plan ==
<Native command: executed by Hive>

////获取结果
scala> sqlContext.sql("show tables").collect;
res3: Array[org.apache.spark.sql.Row] = Array([abc], [avro_table], [employees], [invites], [my_word], [mytable1], [parquet_table], [table1], [word], [word3], [word4], [word5], [word6])

///执行切换数据库动作
scala> sqlContext.sql("use default").collect;
res4: Array[org.apache.spark.sql.Row] = Array()

////从表中查找数据,word6是一个Hive表,是一个transformation操作
scala> sqlContext.sql("select * from word6")
res5: org.apache.spark.sql.SchemaRDD = 
SchemaRDD[8] at RDD at SchemaRDD.scala:108
== Query Plan ==
== Physical Plan ==
HiveTableScan [id#20,word#21], (MetastoreRelation default, word6, None), None

////从表中查找数据,word6是一个Hive表,执行具体的查询
scala> sqlContext.sql("select * from word6").collect

 

 

 

分享到:
评论

相关推荐

    实验七:Spark初级编程实践

    实验中使用的是命令 `./bin/spark-shell` 来启动 Spark 的交互式 Shell,方便进行测试和调试。 2. **Spark 读取文件系统数据** Spark 可以读取多种数据源,包括本地文件系统和 HDFS(Hadoop 分布式文件系统)。在 ...

    Spark 编程指南简体中文版.pdf

    * Spark Shell:交互式 shell,用于快速上手 Spark * Spark 初始化:如何初始化 Spark,包括 SparkContext 和 RDD 的介绍 * RDDs:Resilient Distributed Datasets,Spark 的核心数据结构 * Transformations 和 ...

    Spark开发实例(编程实践)

    启动 Spark Shell Spark 的交互式脚本是一种学习 API 的简单途径,也是分析数据集交互的有力工具。Spark 包含多种运行模式,可使用单机模式,也可以使用分布式模式。为简单起见,本节采用单机模式运行 Spark。 无论...

    spark-sql入门

    在实践中,我们还会学习如何使用Spark SQL的命令行接口(Spark SQL shell)进行交互式查询,以及如何在编程环境中(如PySpark或SparkSession)集成Spark SQL。 在提供的"src"目录中,可能包含示例代码和自定义函数...

    Spark 入门实战系列

    3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介...

    8.SparkMLlib(上)--机器学习及SparkMLlib简介.pdf

    3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介...

    spark全套视频教程

    3. **Spark Shell与Spark SQL**:Spark Shell是交互式探索数据的工具,我们将学习如何使用它进行数据操作。此外,Spark SQL作为Spark处理结构化数据的模块,会详细讲解如何创建DataFrame和DataSet,以及执行SQL查询...

    4.Spark运行架构.pdf

    3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介...

    Spark 2.0.2 Spark 2.2 中文文档 本资源为网页,不是PDF

    DataFrame 和 SQL 操作 MLlib 操作 缓存 / 持久化 CheckPointing 累加器和广播变量 应用程序部署 监控应用程序 性能 降低批处理的时间 设置合理的批处理间隔 内存 容错语义 迁移指南(从 0.9.1 或者更...

    3.Spark编程模型(下)--IDEA搭建及实战.pdf

    3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介...

    Spark SQL学习笔记

    以上内容涵盖了 Spark SQL 的基本操作、Hive 表的创建与加载、Spark Shell 如何访问 Hive 表、查询执行计划的查看方法以及如何使用 ThriftServer 和 Beeline 进行连接查询。这些知识点对于初学者来说是十分重要的...

    3.Spark编程模型(上)--概念及SparkShell实战.pdf

    3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介...

    spark-2.4.8-bin-hadoop2.7.tgz

    2. **Spark SQL**:支持结构化和半结构化数据处理,可以与Hive、Parquet、JSON等多种数据源进行交互,同时提供了DataFrame和Dataset API,使得SQL和DataFrame/Dataset之间的转换更为方便。 3. **Spark Streaming**:...

    Spark SQL编程指南pdf格式下载.rar

    11. **交互式查询**:Spark SQL支持通过Spark Shell或Jupyter Notebook等工具进行交互式查询,便于数据分析和探索。 12. **数据流处理**:Spark SQL结合Spark Streaming可以实现实时数据处理,通过DataFrames和...

    spark考试练习题含答案.rar

    1. **Spark Shell**:交互式的命令行工具,可用于测试和学习Spark。 2. **Spark Job**:一系列操作的集合,由SparkContext提交执行。 3. **Spark Application**:一个完整的Spark程序,包括main方法和Job。 4. **...

    spark或mr引擎插入的数据,hive表查询数据为0

    具体表现为用户反馈在使用Tez引擎查询时可以得到正确结果,但在使用Spark-SQL查询同一张表时却无法获取任何数据。 #### 原因分析 问题的根本原因在于数据写入过程中生成了一个额外的子目录`HIVE_UNION_SUBDIR_1`...

    spark-3.1.2.tgz & spark-3.1.2-bin-hadoop2.7.tgz.rar

    - Spark SQL:用于处理结构化数据,支持SQL查询和DataFrame/Dataset操作。 - Spark Streaming:处理实时数据流,通过微批次处理实现高吞吐量和低延迟。 - MLlib:机器学习库,包含多种算法和实用工具。 - GraphX...

    46488_Spark大数据技术与应用_习题数据和答案.rar

    - 使用Spark Shell进行交互式编程 2. **第3章**:Spark SQL与DataFrame - DataFrame的引入,对比RDD的优势 - Spark SQL的基础概念,如何创建DataFrame - DataFrame的转换和行动操作 - Hive与Spark SQL的集成,...

    spark2.1.0.chm(spark java API)

    3. DataFrame和Dataset操作:Java API提供了`SparkSession`,通过它创建DataFrame/Dataset,支持SQL查询和转换操作。 三、Shell命令在Spark开发中的应用 Spark Shell是交互式环境,可以测试和实验Spark API。在Java...

Global site tag (gtag.js) - Google Analytics