学习笔记Spark(六)—— Spark SQL应用(1)—— Spark SQL简介、环境配置
一、Spark SQL簡介
1.1、Spark SQL特性
-
Spark SQL是Spark Core之上的一個組件,它引入了一個稱為SchemaRDD的新- 數據抽象,它為結構化和半結構化數據提供支持
-
提供了DataFrame、DataSet的編程抽象
-
可以充當分布式SQL查詢引擎
-
Spark SQL是spark套件中一個模板,它將數據的計算任務通過SQL的形式轉換成了RDD的計算,類似于Hive通過SQL的形式將數據的計算任務轉換成了MapReduce。
-
Spark SQL也可以用來從Hive中讀取數據,當我們使用其它編程語言來運行一個SQL語句,結果返回的是一個Dataset或者DataFrame.你可以使用命令行,JDBC或者ODBC的方式來與SQL進行交互。
1.2、Spark SQL特性
1、集成
無縫地將SQL查詢與Spark程序混合。 Spark SQL允許用戶將結構化數據作為Spark中的分布式數據集(RDD)進行查詢,這種緊密的集成使得可以輕松地運行SQL查詢以及復雜的分析算法。
2、統一數據訪問
加載和查詢來自各種來源的數據。Schema-RDDs提供了一個有效處理結構化數據的單一接口,加載和查詢來自各種來源的數據。
3、標準連接
通過JDBC或ODBC連接。 Spark SQL包括具有行業標準JDBC和ODBC連接的服務器模式。
4、Hive兼容性
在現有倉庫上運行未修改的Hive查詢。 Spark SQL重用了Hive前端和MetaStore,為您提供與現有Hive數據,查詢和UDF的完全兼容性。只需將其與Hive一起安裝即可。
5、可擴展性
對于交互式查詢和長查詢使用相同的引擎。 Spark SQL利用RDD模型來支持中查詢容錯,使其能夠擴展到大型作業。不要擔心為歷史數據使用不同的引擎。
1.3、Spark SQL架構
二、環境配置
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驅動到/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、在所有節點/opt/spark-2.4.0-bin-hadoop2.6/conf/spark-env.sh 文件中配置 MySQL 驅動
SPARK_CLASSPATH=/opt/spark-2.4.0-bin-hadoop2.6/jars/mysql-connector-java-5.1.32-bin.jar4、啟動 MySQL 服務
(若已啟動,忽略)
5、啟動 Hive 的 metastore 服務
(若已啟動,忽略)
6、修改日志級別,在各節點:
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、啟動spark集群
(若已啟動,忽略)
8、訪問spark-sql
總結
以上是生活随笔為你收集整理的学习笔记Spark(六)—— Spark SQL应用(1)—— Spark SQL简介、环境配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 学习笔记Spark(四)—— Spark
- 下一篇: 学习笔记Spark(七)—— Spark