Hive On Spark概述
Hive現有支援的執行引擎有mr和tez,預設的執行引擎是mr,Hive On Spark的目的是新增一個spark的執行引擎,讓hive能跑在spark之上;
在執行hive ql指令碼之前指定執行引擎、spark.home、spark.master
set hive.execution.engine=spark; set spark.home=/home/spark/app/spark-1.3.0-bin-spark-without-hive; set spark.master=yarn;
Hive On Spark與Spark SQL/Shark的區別:
Spark SQL/Shark:
1、將sql語義翻譯成Spark RDD在Spark上執行;
2、Spark SQL是基於hive snapshot版本,雖然能夠相容hive,但是使用的版本早於當前hive的release版本,最新的一些特性則無法使用;
3、Spark SQL使用Spark的transformation和action替換Hive sql的構建; 將會丟失一些hive自身構建實現的特性;
Hive on Spark:
1、將hql語義翻譯成MapReduce在Spark上執行;
2、Hive On Spark則是與hive共同演化;
3、Hive On Spark使用的是Hive的構建,將包含Hive所有的特性,Spark僅僅是一個通用的執行引擎而已;
為Hive新增一個spark執行引擎涉及到如下方面
1、查詢計劃
將Hive的邏輯執行計劃進一步翻譯成Spark能夠執行的Spark計劃;
2、查詢執行
得到的Spark計劃真正在Spark叢集中執行;
3、監控、計數器、統計等
查詢計劃:
當hive接收到一個sql語句時,使用Hive的語法解析器解析成一個操作計劃;
對於On Spark引擎,引入了SparkComplier,類似於MapReduceCompiler和TezCompiler;
SparkComplier:
將從Hive中得到的邏輯執行計劃轉成在Spark上能執行的計劃;
在產生Spark計劃的時候做一些物理執行計劃的優化;
SparkTask:在Spark叢集中執行的一個job
SparkWork:SparkTask的計劃,可以通過explain檢視
SparkComplier: 將Hive的執行計劃轉化成一個SparkWork
查詢執行:
SparkTask.execute()在SparkWork之外產出rdd以及相應的方法,通過Spark Client提交給Spark叢集執行;一旦SparkTask提交給了Spark叢集,Spark Client將監控job的執行情況;
通過SparkJobMonitor來處理列印任務的執行狀態和最終的執行結果;Spark Job的提交是通過SparkContext物件完成的;當SparkTask被hive執行時,就會為當前使用者session建立一個SparkContext;
Hive表相關的RDD將會被建立;MapFunction、ReduceFunction將會被SparkWork建立並且作用在RDD上;當在RDD上執行foreach方法時該RDD上的job就會被觸發執行。
監控、計數器、統計等:
監控:
Spark在每個SparkContext執行時提供了WebUI,當時該UI中只能展現出執行時的Application資訊;
為了在Application執行完後也能重新渲染UI資訊,需要在啟動Application之前設定spark.eventLog.enabled為true;
Standalone模式執行時可以通過WebUI展示,YARN/Mesos模式執行時,可以通過Spark History Server來展現;
計數器/統計:
在Spark中提供了accumulator實現計數器,使用Metrics實現統計;
相關推薦
Hive On Spark概述
Hive現有支援的執行引擎有mr和tez,預設的執行引擎是mr,Hive On Spark的目的是新增一個spark的執行引擎,讓hive能跑在spark之上; 在執行hive ql指令碼之前指定執行引擎、spark.home、spark.master set hive.execution.engin
SparkSQL與Hive on Spark的比較
.cn local 順序 沒有 針對 ast custom spark manager 簡要介紹了SparkSQL與Hive on Spark的區別與聯系一、關於Spark簡介在Hadoop的整個生態系統中,Spark和MapReduce在同一個層級,即主要解決分布式計算框
hive on spark VS SparkSQL VS hive on tez
dir csdn cluster 並且 http 緩沖 快速 bsp pos http://blog.csdn.net/wtq1993/article/details/52435563 http://blog.csdn.net/yeruby/article/details
hive on spark
技術分享 engine sele park cut bsp 配置 spark lec hive on spark 的配置及設置CDH都已配置好,直接使用就行,但是我在用的時候報錯,如下: 具體操作如下時報的錯: 在hive 裏執行以下命令: set
sparksql\hive on spark\hive on mr
Hive on Mapreduce Hive的原理大家可以參考這篇大資料時代的技術hive:hive介紹,實際的一些操作可以看這篇筆記:新手的Hive指南,至於還有興趣看Hive優化方法可以看看我總結的這篇Hive效能優化上的一些總結 Hive on Mapreduce執行流程
hive on spark 效能引數調優
select * from stg_bankcard_auth_apply where length(idcardno) >= 1 and length(idcardno) <> 32; --該表儲存檔案格式為txt格式,是原始檔直接load進來的,mapreduce執行不管任何s
Hive on Spark調優
之前在Hive on Spark跑TPCx-BB測試時,100g的資料量要跑十幾個小時,一看CPU和記憶體的監控,發現 POWER_TEST階段(依次執行30個查詢)CPU只用了百分之十幾,也就是沒有把整個叢集的效能利用起來,導致跑得很慢。因此,如何調整引數,使整個叢集發揮最大效能顯得尤為
第四天 -- Accumulator累加器 -- Spark SQL -- DataFrame -- Hive on Spark
第四天 – Accumulator累加器 – Spark SQL – DataFrame – Hive on Spark 文章目錄 第四天 -- Accumulator累加器 -- Spark SQL -- DataFrame -- Hive on Spark
SparkSQL和hive on Spark
SparkSQL簡介 SparkSQL的前身是Shark,給熟悉RDBMS但又不理解MapReduce的技術人員提供快速上手的工具,hive應運而生,它是當時唯一執行在Hadoop上的SQL-on-hadoop工具。但是MapReduce計算過程中大量的中間磁碟落地過程消耗了大量的I/O,降低的執行效率,為
Hive on spark 報錯FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.spark
cp /opt/cloudera/parcels/CDH-5.13.3-1.cdh5.13.3.p0.2/lib/spark/lib/spark-assembly.jar /opt/cloudera/parcels/CDH-5.13.3-1.cdh5.13.3.p0.2/lib/hive/lib
大資料利用hive on spark程式操作hive
hive on spark 作者:小濤 Hive是資料倉庫,他是處理有結構化的資料,當資料沒有結構化時hive就無法匯入資料,而它也是遠行在mr程式之上
Hive on Spark 偽分散式環境搭建過程記錄
進入hive cli是,會有如下提示: Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. s
hive on spark開發demo
public class SparkHiveTest { public static void main(String[] args) { String warehous
hive on spark通過YARN-client提交任務不成功
在Hive on spark中 設定spark.master 為 yarn-client , 提交HiveQL任務到yarn上執行,發現任務無法執行 輸出一下錯誤: 可以看到 Hive on S
基於Spark2.0搭建Hive on Spark環境(Mysql本地和遠端兩種情況)
Hive的出現可以讓那些精通SQL技能、但是不熟悉MapReduce 、程式設計能力較弱與不擅長Java語言的使用者能夠在HDFS大規模資料集上很方便地利用SQL 語言查詢、彙總、分析資料,畢竟精通SQL語言的人要比精通Java語言的多得多。Hive適合處理離線非實時資料。h
第74課:Hive on Spark大揭祕 完整版
內容: 1.Hive On Spark內幕 2.Hive on Spark實戰 一、Hive On Spark內幕 1.Hive on spark 是hive 的一個子
hive on spark 利用maven重新編譯spark
緣由:使用hive on spark 進行hivesql操作的時候報以下錯誤: Failed to execute spark task, with exception 'org.apache.hadoop.hive.ql.metadata.HiveException(Failed to cre
Hive-On-Spark
1 HiveOnSpark簡介 Hive On Spark (跟hive沒太大的關係,就是使用了hive的標準(HQL, 元資料庫、UDF、序列化、反序列化機制)) Hive原來的計算模型是MR,有點慢(將中間結果寫入到HDFS中) Hive On Spark 使用RDD(DataF
面試題:Hive on Spark與SparkSql的區別
Hive on Spark與SparkSql的區別 hive on spark大體與SparkSQL結構類似,只是SQL引擎不同,但是計算引擎都是spark! 核心程式碼 #初始化Spark SQL #匯入Spark SQL from pyspark.sql import Hiv
Hive On Spark搭建(cdh)
hive 和 spark版本之前有強對應關係 apache hive 和 spark 對應關係表 master 2.3.0 3.0.x 2.3.0 2.3.x 2.0.0 2.2.x 1.6.0