spark-sql是Spark bin目录下的一个可执行脚本,它的目的是通过这个脚本执行Hive的命令,即原来通过
hive>输入的指令可以通过spark-sql>输入的指令来完成。
spark-sql可以使用内置的Hive metadata-store,也可以使用已经独立安装的Hive的metadata store
关于Hive build into Spark
1.
Spark SQL can be built with or without Apache Hive, the Hadoop SQL engine. Spark SQL with Hive support allows us to access Hive tables, UDFs (user-defined functions), SerDes (serialization and deserialization formats), and the Hive query language (HiveQL). Hive query language (HQL) It is important to note that including the Hive libraries does not require an existing Hive installation.
2.关于Hive和Spark SQL的关系,参见:http://bit1129.iteye.com/blog/2192739
3.
Note that if you don’t have an existing Hive installation, Spark SQL will create its own Hive metastore (metadata DB) in your program’s work directory, called meta store_db. In addition, if you attempt to create tables using HiveQL’s CREATE TABLE statement (not CREATE EXTERNAL TABLE), they will be placed in the /user/hive/warehouse directory on your default filesystem (either your local filesystem, or HDFS if you have a hdfs-site.xml on your classpath).
配置步骤:
1. 将Hive的conf目录的hive-site.xml拷贝到Spark的conf目录
2. 将hive-site.xml中关于时间的配置的时间单位,比如ms,s全部删除掉
3. 将mysql jdbc的驱动添加到Spark的Classpath上
export SPARK_CLASSPATH=$SPARK_CLASSPATH:/home/hadoop/software/spark-1.2.0-bin-hadoop2.4/lib/mysql-connector-java-5.1.34.jar
4.启动Spark SQL
[hadoop@hadoop bin]$ ./spark-sql Spark assembly has been built with Hive, including Datanucleus jars on classpath SET spark.sql.hive.version=0.13.1
5. 显示所有的数据库
spark-sql> show databases; OK default financials financials2 sales Time taken: 18.67 seconds
6. 显示表
spark-sql> use default; OK Time taken: 0.657 seconds spark-sql> show tables; OK abc avro_table employees invites my_word mytable1 parquet_table table1 word word3 word4 word5 Time taken: 1.011 seconds
7. 查询
spark-sql> select * from word > ; 1 MSN 10 QQ 100 Gtalk 1000 Skype NULL NULL Time taken: 39.852 seconds
8.创建表并加载数据
spark-sql> create table word6 (id int,word string) row format delimited fields terminated by ',' stored as textfile ; OK Time taken: 10.852 seconds
spark-sql> load data local inpath '/home/hadoop/word.txt' into table word6; Copying data from file:/home/hadoop/word.txt Copying file: file:/home/hadoop/word.txt Loading data to table default.word6 Table default.word6 stats: [numFiles=1, numRows=0, totalSize=31, rawDataSize=0] OK Time taken: 2.307 seconds
通过如上操作可以看到,实际上spark-sql操作等同于Hive操作,也就是spark-sql是提供了等价于Hive的能力
相关推荐
在标题"spark-hive-2.11和spark-sql-以及spark-hadoop包另付下载地址"中,我们关注的是Spark与Hive的特定版本(2.11)的集成,以及Spark SQL和Spark对Hadoop的支持。这里的2.11可能指的是Scala的版本,因为Spark是用...
spark-sql_2.11-2.4.0-cdh6.1.1.jar
spark-sql_2.11-2.1.3-SNAPSHOT_bak.jar
Spark零基础思维导图(内含spark-core ,spark-streaming,spark-sql),总结的很全面。 Spark零基础思维导图(内含spark-core ,spark-streaming,spark-sql)。 Spark零基础思维导图(内含spark-core ,spark-streaming,...
spark-streaming-kafka-0-10_2.11-2.4.0-cdh6.1.1.jar
1. 解压压缩包:使用tar命令解压文件,例如`tar -xvf spark-3.1.3-bin-without-hadoop.tgz`。 2. 配置环境变量:在`~/.bashrc`或`~/.bash_profile`中设置SPARK_HOME,并将Spark的bin目录添加到PATH。 3. 如果在...
- 使用SparkSubmit工具提交应用程序到集群。 - Spark Shell提供了一个交互式的环境,可以直接测试代码。 7. 性能优化: - 调整Executor的数量、内存大小和CPU核心分配。 - 使用宽依赖减少shuffle操作以优化数据...
Spark-Sql 源码解析的主要流程包括语法分析、逻辑计划生成、物理计划生成和执行计划生成四个阶段。 在 Spark-Sql 源码解析中,SQL 语句首先被传递给 SqlParser,SqlParser 负责将 SQL 语句解析成抽象语法树(AST)...
内容概要:由于cdh6.3.2的spark版本为2.4.0,并且spark-sql被阉割,现基于cdh6.3.2,scala2.12.0,java1.8,maven3.6.3,,对spark-3.2.2源码进行编译 应用:该资源可用于cdh6.3.2集群配置spark客户端,用于spark-sql
spark-sql sql on yarn --deploy-mode cluster 改造为 可以cluster提交
在使用Spark时,你可以通过`spark-submit`命令提交应用程序,或者直接在Spark Shell中编写和运行代码。 总的来说,Spark 2.4.8是一个强大且灵活的大数据处理框架,它通过其丰富的组件和优化的性能,为开发者提供了...
1.Spark及其生态圈简介.pdf 2.Spark编译与部署(上)--基础环境搭建.pdf 2.Spark编译与部署(下)--Spark编译安装.pdf 2.Spark编译与部署(中)--Hadoop编译安装.pdf 3.Spark编程模型(上)--概念及SparkShell实战....
spark-streaming-kafka-0-8-assembly_2.11-2.4.0.jar
Spark零基础思维导图(内含spark-core ,spark-streaming,spark-sql)
Spark-SQL是Spark生态系统中用于处理结构化数据的关键组件,它不仅支持SQL查询,还允许将SQL查询与其他Spark功能(如数据流处理和机器学习)结合使用。以下是资源的详细描述: Spark-SQL概述 Spark-SQL是Spark中...
在大数据处理的实际应用中,Spark 2.4.7 可以与各种工具和框架集成,例如Hive用于数据仓库,MLlib进行机器学习,GraphX处理图数据,以及Structured Streaming进行实时流处理。这些丰富的功能使得Spark成为了大数据...
此外,Spark还包含了多个模块,如Spark SQL用于结构化数据处理,Spark Streaming用于实时流处理,MLlib用于机器学习,GraphX用于图计算。 Hive on Spark是Hive的一种执行引擎选项,它允许用户利用Spark的计算能力来...
此外,Spark 还提供了SQL查询支持(通过Spark SQL),流处理(Spark Streaming),机器学习库(MLlib)以及图形处理(GraphX)等功能,使其成为全方位的大数据处理平台。 在Spark 3.1.3中,可能包含以下关键改进和...
- **Spark SQL**:Spark的SQL模块,支持使用SQL查询DataFrame,同时兼容Hive的元数据和SQL语法。 - **Spark Streaming**:用于实时流数据处理,通过将数据流划分为微批次进行处理。 - **MLlib**:机器学习库,包含...