在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
相关推荐
实验中使用的是命令 `./bin/spark-shell` 来启动 Spark 的交互式 Shell,方便进行测试和调试。 2. **Spark 读取文件系统数据** Spark 可以读取多种数据源,包括本地文件系统和 HDFS(Hadoop 分布式文件系统)。在 ...
* Spark Shell:交互式 shell,用于快速上手 Spark * Spark 初始化:如何初始化 Spark,包括 SparkContext 和 RDD 的介绍 * RDDs:Resilient Distributed Datasets,Spark 的核心数据结构 * Transformations 和 ...
启动 Spark Shell Spark 的交互式脚本是一种学习 API 的简单途径,也是分析数据集交互的有力工具。Spark 包含多种运行模式,可使用单机模式,也可以使用分布式模式。为简单起见,本节采用单机模式运行 Spark。 无论...
在实践中,我们还会学习如何使用Spark SQL的命令行接口(Spark SQL shell)进行交互式查询,以及如何在编程环境中(如PySpark或SparkSession)集成Spark SQL。 在提供的"src"目录中,可能包含示例代码和自定义函数...
3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介...
3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介...
3. **Spark Shell与Spark SQL**:Spark Shell是交互式探索数据的工具,我们将学习如何使用它进行数据操作。此外,Spark SQL作为Spark处理结构化数据的模块,会详细讲解如何创建DataFrame和DataSet,以及执行SQL查询...
3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介...
DataFrame 和 SQL 操作 MLlib 操作 缓存 / 持久化 CheckPointing 累加器和广播变量 应用程序部署 监控应用程序 性能 降低批处理的时间 设置合理的批处理间隔 内存 容错语义 迁移指南(从 0.9.1 或者更...
3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介...
以上内容涵盖了 Spark SQL 的基本操作、Hive 表的创建与加载、Spark Shell 如何访问 Hive 表、查询执行计划的查看方法以及如何使用 ThriftServer 和 Beeline 进行连接查询。这些知识点对于初学者来说是十分重要的...
3.Spark编程模型(上)--概念及SparkShell实战.pdf 3.Spark编程模型(下)--IDEA搭建及实战.pdf 4.Spark运行架构.pdf 5.Hive(上)--Hive介绍及部署.pdf 5.Hive(下)--Hive实战.pdf 6.SparkSQL(上)--SparkSQL简介...
2. **Spark SQL**:支持结构化和半结构化数据处理,可以与Hive、Parquet、JSON等多种数据源进行交互,同时提供了DataFrame和Dataset API,使得SQL和DataFrame/Dataset之间的转换更为方便。 3. **Spark Streaming**:...
11. **交互式查询**:Spark SQL支持通过Spark Shell或Jupyter Notebook等工具进行交互式查询,便于数据分析和探索。 12. **数据流处理**:Spark SQL结合Spark Streaming可以实现实时数据处理,通过DataFrames和...
1. **Spark Shell**:交互式的命令行工具,可用于测试和学习Spark。 2. **Spark Job**:一系列操作的集合,由SparkContext提交执行。 3. **Spark Application**:一个完整的Spark程序,包括main方法和Job。 4. **...
具体表现为用户反馈在使用Tez引擎查询时可以得到正确结果,但在使用Spark-SQL查询同一张表时却无法获取任何数据。 #### 原因分析 问题的根本原因在于数据写入过程中生成了一个额外的子目录`HIVE_UNION_SUBDIR_1`...
- Spark SQL:用于处理结构化数据,支持SQL查询和DataFrame/Dataset操作。 - Spark Streaming:处理实时数据流,通过微批次处理实现高吞吐量和低延迟。 - MLlib:机器学习库,包含多种算法和实用工具。 - GraphX...
- 使用Spark Shell进行交互式编程 2. **第3章**:Spark SQL与DataFrame - DataFrame的引入,对比RDD的优势 - Spark SQL的基础概念,如何创建DataFrame - DataFrame的转换和行动操作 - Hive与Spark SQL的集成,...
3. DataFrame和Dataset操作:Java API提供了`SparkSession`,通过它创建DataFrame/Dataset,支持SQL查询和转换操作。 三、Shell命令在Spark开发中的应用 Spark Shell是交互式环境,可以测试和实验Spark API。在Java...