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

【Spark九十四】spark-sql工具的使用

 
阅读更多

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包另付下载地址"中,我们关注的是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.4.0-cdh6.1.1.jar

    spark-sql_2.11-2.1.3-SNAPSHOT_bak.jar

    spark-sql_2.11-2.1.3-SNAPSHOT_bak.jar

    Spark零基础思维导图(内含spark-core ,spark-streaming,spark-sql),总结的很全面.zip

    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

    spark-streaming-kafka-0-10_2.11-2.4.0-cdh6.1.1.jar

    spark-3.1.3-bin-without-hadoop.tgz

    1. 解压压缩包:使用tar命令解压文件,例如`tar -xvf spark-3.1.3-bin-without-hadoop.tgz`。 2. 配置环境变量:在`~/.bashrc`或`~/.bash_profile`中设置SPARK_HOME,并将Spark的bin目录添加到PATH。 3. 如果在...

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

    - 使用SparkSubmit工具提交应用程序到集群。 - Spark Shell提供了一个交互式的环境,可以直接测试代码。 7. 性能优化: - 调整Executor的数量、内存大小和CPU核心分配。 - 使用宽依赖减少shuffle操作以优化数据...

    Spark-Sql源码解析

    Spark-Sql 源码解析的主要流程包括语法分析、逻辑计划生成、物理计划生成和执行计划生成四个阶段。 在 Spark-Sql 源码解析中,SQL 语句首先被传递给 SqlParser,SqlParser 负责将 SQL 语句解析成抽象语法树(AST)...

    spark-3.2.2-bin-3.0.0-cdh6.3.2

    内容概要:由于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 改造

    spark-sql sql on yarn --deploy-mode cluster 改造为 可以cluster提交

    spark-2.4.8-bin-hadoop2.7.tgz

    在使用Spark时,你可以通过`spark-submit`命令提交应用程序,或者直接在Spark Shell中编写和运行代码。 总的来说,Spark 2.4.8是一个强大且灵活的大数据处理框架,它通过其丰富的组件和优化的性能,为开发者提供了...

    spark-streaming-kafka-0-8-assembly_2.11-2.4.0.jar

    spark-streaming-kafka-0-8-assembly_2.11-2.4.0.jar

    spark-2.4.7-bin-without-hadoop

    在大数据处理的实际应用中,Spark 2.4.7 可以与各种工具和框架集成,例如Hive用于数据仓库,MLlib进行机器学习,GraphX处理图数据,以及Structured Streaming进行实时流处理。这些丰富的功能使得Spark成为了大数据...

    Spark零基础思维导图(内含spark-core ,spark-streaming,spark-sql)

    Spark零基础思维导图(内含spark-core ,spark-streaming,spark-sql)

    Python大数据分析&人工智能教程 - Spark-SQL编程实例(含源码和学习思维导图)

    Spark-SQL是Spark生态系统中用于处理结构化数据的关键组件,它不仅支持SQL查询,还允许将SQL查询与其他Spark功能(如数据流处理和机器学习)结合使用。以下是资源的详细描述: Spark-SQL概述 Spark-SQL是Spark中...

    spark--bin-hadoop3-without-hive.tgz

    此外,Spark还包含了多个模块,如Spark SQL用于结构化数据处理,Spark Streaming用于实时流处理,MLlib用于机器学习,GraphX用于图计算。 Hive on Spark是Hive的一种执行引擎选项,它允许用户利用Spark的计算能力来...

    spark-assembly-1.5.2-hadoop2.6.0.jar

    开发者在本地开发时,可以直接使用这个fat jar进行测试,而在生产环境中,可以通过构建工具如Maven或sbt自定义打包,只包含实际应用所需的模块,以减小部署的体积。 总结,Spark-assembly-1.5.2-hadoop2.6.0.jar是...

    spark-1.6.0-bin-hadoop2.6.tgz

    - **Spark SQL**:Spark的SQL模块,支持使用SQL查询DataFrame,同时兼容Hive的元数据和SQL语法。 - **Spark Streaming**:用于实时流数据处理,通过将数据流划分为微批次进行处理。 - **MLlib**:机器学习库,包含...

    spark-3.1.3-bin-hadoop3.2.tgz

    此外,Spark 还提供了SQL查询支持(通过Spark SQL),流处理(Spark Streaming),机器学习库(MLlib)以及图形处理(GraphX)等功能,使其成为全方位的大数据处理平台。 在Spark 3.1.3中,可能包含以下关键改进和...

Global site tag (gtag.js) - Google Analytics