学习笔记Spark(六)—— Spark SQL应用(1)—— Spark SQL简介、环境配置
一、Spark SQL簡(jiǎn)介
1.1、Spark SQL特性
-
Spark SQL是Spark Core之上的一個(gè)組件,它引入了一個(gè)稱為SchemaRDD的新- 數(shù)據(jù)抽象,它為結(jié)構(gòu)化和半結(jié)構(gòu)化數(shù)據(jù)提供支持
-
提供了DataFrame、DataSet的編程抽象
-
可以充當(dāng)分布式SQL查詢引擎
-
Spark SQL是spark套件中一個(gè)模板,它將數(shù)據(jù)的計(jì)算任務(wù)通過(guò)SQL的形式轉(zhuǎn)換成了RDD的計(jì)算,類似于Hive通過(guò)SQL的形式將數(shù)據(jù)的計(jì)算任務(wù)轉(zhuǎn)換成了MapReduce。
-
Spark SQL也可以用來(lái)從Hive中讀取數(shù)據(jù),當(dāng)我們使用其它編程語(yǔ)言來(lái)運(yùn)行一個(gè)SQL語(yǔ)句,結(jié)果返回的是一個(gè)Dataset或者DataFrame.你可以使用命令行,JDBC或者ODBC的方式來(lái)與SQL進(jìn)行交互。
1.2、Spark SQL特性
1、集成
無(wú)縫地將SQL查詢與Spark程序混合。 Spark SQL允許用戶將結(jié)構(gòu)化數(shù)據(jù)作為Spark中的分布式數(shù)據(jù)集(RDD)進(jìn)行查詢,這種緊密的集成使得可以輕松地運(yùn)行SQL查詢以及復(fù)雜的分析算法。
2、統(tǒng)一數(shù)據(jù)訪問(wèn)
加載和查詢來(lái)自各種來(lái)源的數(shù)據(jù)。Schema-RDDs提供了一個(gè)有效處理結(jié)構(gòu)化數(shù)據(jù)的單一接口,加載和查詢來(lái)自各種來(lái)源的數(shù)據(jù)。
3、標(biāo)準(zhǔn)連接
通過(guò)JDBC或ODBC連接。 Spark SQL包括具有行業(yè)標(biāo)準(zhǔn)JDBC和ODBC連接的服務(wù)器模式。
4、Hive兼容性
在現(xiàn)有倉(cāng)庫(kù)上運(yùn)行未修改的Hive查詢。 Spark SQL重用了Hive前端和MetaStore,為您提供與現(xiàn)有Hive數(shù)據(jù),查詢和UDF的完全兼容性。只需將其與Hive一起安裝即可。
5、可擴(kuò)展性
對(duì)于交互式查詢和長(zhǎng)查詢使用相同的引擎。 Spark SQL利用RDD模型來(lái)支持中查詢?nèi)蒎e(cuò),使其能夠擴(kuò)展到大型作業(yè)。不要擔(dān)心為歷史數(shù)據(jù)使用不同的引擎。
1.3、Spark SQL架構(gòu)
二、環(huán)境配置
1、拷貝hive-site.xml到/usr/local/spark-2.4.0-bin-hadoop2.6/conf
cp /opt/apache-hive-1.2.1-bin/conf/hive-site.xml /opt/spark-2.4.0-bin-hadoop2.6/conf/ scp /opt/apache-hive-1.2.1-bin/conf/hive-site.xml node1:/opt/spark-2.4.0-bin-hadoop2.6/conf/ scp /opt/apache-hive-1.2.1-bin/conf/hive-site.xml node2:/opt/spark-2.4.0-bin-hadoop2.6/conf/ scp /optapache-hive-1.2.1-bin/conf/hive-site.xml node3:/opt/spark-2.4.0-bin-hadoop2.6/conf/2、拷貝MYSQL驅(qū)動(dòng)到/opt/spark-2.4.0-bin-hadoop2.6/jars
cp /opt/apache-hive-1.2.1-bin/lib/mysql-connector-java-5.1.32-bin.jar /opt/spark-2.4.0-bin-hadoop2.6/jars/ scp /opt/spark-2.4.0-bin-hadoop2.6/jars/mysql-connector-java-5.1.32-bin.jar node1:/opt/spark-2.4.0-bin-hadoop2.6/jars/ scp /opt/spark-2.4.0-bin-hadoop2.6/jars/mysql-connector-java-5.1.32-bin.jar node2:/opt/spark-2.4.0-bin-hadoop2.6/jars/ scp /opt/spark-2.4.0-bin-hadoop2.6/jars/mysql-connector-java-5.1.32-bin.jar node3:/opt/spark-2.4.0-bin-hadoop2.6/jars/3、在所有節(jié)點(diǎn)/opt/spark-2.4.0-bin-hadoop2.6/conf/spark-env.sh 文件中配置 MySQL 驅(qū)動(dòng)
SPARK_CLASSPATH=/opt/spark-2.4.0-bin-hadoop2.6/jars/mysql-connector-java-5.1.32-bin.jar4、啟動(dòng) MySQL 服務(wù)
(若已啟動(dòng),忽略)
5、啟動(dòng) Hive 的 metastore 服務(wù)
(若已啟動(dòng),忽略)
6、修改日志級(jí)別,在各節(jié)點(diǎn):
cp /opt/spark-2.4.0-bin-hadoop2.6/conf/log4j.properties.template /opt/spark-2.4.0-bin-hadoop2.6/conf/log4j.properties修改log4j.properties
log4j.rootCategory=WARN, console7、啟動(dòng)spark集群
(若已啟動(dòng),忽略)
8、訪問(wèn)spark-sql
總結(jié)
以上是生活随笔為你收集整理的学习笔记Spark(六)—— Spark SQL应用(1)—— Spark SQL简介、环境配置的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 学习笔记Spark(四)—— Spark
- 下一篇: 学习笔记Spark(七)—— Spark