當前位置:首頁 » 編程軟體 » hive腳本調用

hive腳本調用

發布時間: 2022-06-04 03:03:55

㈠ hive sql裡面如何調用shell腳本

hive sql && maprece job
你的採納是我前進的動力,記得好評和採納,答題不易,互相幫助,
手機提問的朋友在客戶端右上角評價點滿意即可.

python如何增量讀取hive數據,每次執行腳本把上次的結果做基準,列印出新增的部分

1.讀取文本文件數據(.txt結尾的文件)或日誌文件(.log結尾的文件)list0與list1分別為文檔中的第一列數據與第二列數據。

㈢ Hive是什麼

此外,hive也支持熟悉map-rece的開發者使用map-rece程序對數據做更加復雜的分析。 hive可以很好的結合thrift和控制分隔符,也支持用戶自定義分隔符。 hive基於hadoop,hadoop是批處理系統,不能保存低延遲,因此,hive的查詢也不能保證低延遲。 hive的工作模式是:提交一個任務,等到任務結束時被通知,而不是實時查詢。相對應的是,類似於Oracle這樣的系統當運行於小數據集的時候,響應非常快,可當處理的數據集非常大的時候,可能需要數小時。需要說明的是,hive即使在很小的數據集上運行,也可能需要數分鍾才能完成。 低延遲不是hive追求的首要目標。

㈣ 如何通過腳本的方法,批量執行hive sql語句

操作方法如下:
把SQL語句寫成存儲過程,這樣以後每次只需要調用存儲過程就行了

㈤ hive 調用python 寫的udf 報錯

我也遇到這個問題了,是python腳本的問題,不管hive表的分隔符是什麼,在python腳本裡面的分隔符都是'\t',換成'\t'試一試。

㈥ sqoop2如何寫自動化腳本到hive,或者hbase

Hbase不支持SQL語句查詢,如果要實現count\group等操作需要藉助Maprece程序,門檻較高;
Hive對於SQL的支持有強大的功能,我們不需要寫過多的自定義函數就能實現較為復雜的查詢
優點:
1、Hive方便地提供了Hive QL的介面來簡化MapRece的使用,而HBase提供了低延遲的資料庫訪問。如果兩者結合,可以利用MapRece的優勢針對HBase存儲的大量內容進行離線的計算和分析;
2、操作方便,hive提供了大量系統功能;
3、降低業務開發人員技術門檻,只需要掌握SQL即可;
缺點:
性能的損失,hive有這樣的功能, 他支持通過類似sql語句的語法來操作hbase中的數據, 但是速度慢;
限制條件:
Hbase表需要有多個欄位,如果是單列,欄位採用特殊字元分隔,那麼導入
1、將以下jar包拷貝到$HIVE_HOME/lib/目錄中
cp hbase-common-1.0.0-cdh5.5.0.jar$HIVE_HOME/lib/
cp hbase-server-1.0.0-cdh5.5.0.jar$HIVE_HOME/lib/
cp hbase-client-1.0.0-cdh5.5.0.jar$HIVE_HOME/lib/
cp hbase-protocol-1.0.0-cdh5.5.0.jar$HIVE_HOME/lib/
cp hbase-hadoop2-compat-1.0.0-cdh5.5.0.jar $HIVE_HOME/lib/
cp hbase-hadoop-compat-1.0.0-cdh5.5.0.jar$HIVE_HOME/lib/
cp htrace-core-3.2.0-incubating.jar$HIVE_HOME/lib/
cp netty-all-4.0.23.Final.jar$HIVE_HOME/lib/
cp metrics-core-2.2.0.jar $HIVE_HOME/lib/
2、在hive-site.xml中增加以下配置
<property>
<name>hbase.zookeeper.quorum</name>
<value>master:2181,slave1:2182,slave2:2183</value>
</property>
<property>
<name>hive.aux.jars.path</name>
<value>file:///cdh550/hive/lib/hive-hbase-handler-1.1.0-cdh5.5.0.jar,file:///cdh550/hive/lib/hbase-common-1.0.0-cdh5.5.0.jar,file:///cdh550/hive/lib/hbase-server-1.0.0-cdh5.5.0.jar,file:///cdh550/hive/lib/hbase-client-1.0.0-cdh5.5.0.jar,file:///cdh550/hive/lib/hbase-protocol-1.0.0-cdh5.5.0.jar,file:///cdh550/hive/lib/zookeeper-3.4.5-cdh5.5.0.jar</value>
</property>
3、啟動Hive服務端
ohup hive --service metastore > metastore.log
ohup hive --service hiveserver2>hiveserver2.log
4、啟動hive客戶端
hive [-hiveconf hive.root.logger=DEBUG,console]
CREATE EXTERNAL TABLE hive_hbase_1(keystring, value string)
STORED BY'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES("hbase.columns.mapping" = "c1:d1")
TBLPROPERTIES("hbase.table.name"= "platjava_test_20170401", "hbase.mapred.output.outputtable"= " platjava_test_20170401")
--hbase.columns.mapping指向對應的列族;多列時,data:1,data:2;多列族時,data1:1,data2:1;
--hbase.table.name指向對應的表;hbase_table_2(keystring, value string),這個是關聯表。
注意:
建表或映射表的時候如果沒有指定:key則第一個列默認就是行鍵
HBase對應的Hive表中沒有時間戳概念,默認返回的就是最新版本的值
由於HBase中沒有數據類型信息,所以在存儲數據的時候都轉化為String類型
CREATE TABLE hbase_table_1(key int, valuestring)
STORED BY'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES("hbase.columns.mapping" = ":key,cf1:val")
TBLPROPERTIES ("hbase.table.name"= "xyz", "hbase.mapred.output.outputtable" ="xyz")
hbase.table.name:參數是可選的,是Hbase可識別的名字,如果不設置則和Hive表名一致;
在Hive中創建的和Hbase整合的表不支持load data導入數據,需要在Hive中創建中間表導入數據後採用insert方式導入數據。
例:INSERTOVERWRITE TABLE hbase_table_1 SELECT * FROM pokes WHERE foo=98
當有大量數據導入Hbase時,建議將WAL關閉:sethive.hbase.wal.enabled=false
FAILED: Execution Error, return code 1 fromorg.apache.hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: MetaException(message:org.apache.hadoop.hive.serde2.SerDeExceptionorg.apache.hadoop.hive.hbase.HBaseSerDe: columns has 1 elements whilehbase.columns.mapping has 2 elements (counting the key if implicit))
在創建hive/hbase相關聯的表時,hbase表結構默認會有一個欄位key,如果沒有一個顯示的欄位'key'那麼在創建表時,會自己創建,這樣hive對應的表就會出現問題,所以在hive對應的表裡一定要加上key這個欄位,為了避免這個問題,在hbase表結構里可以顯示的添加'key'欄位,這樣不容易出問題。
1、 Hive SQL在執行過程中是否會對Hbase的實時數據讀寫造成影響?(不考慮主機資源情況下)

㈦ hue/oozie 調度shell執行hive腳本

前面已經有篇文章介紹如何編譯包含hive的spark-assembly.jar了,不清楚的可以翻看一下前面的文章。clouderamanager裝好的spark,直接執行spark-shell進入命令行後,寫入如下語句:valhiveContext=neworg.apache.spark.sql.hive.HiveContext(sc)你會發現沒法執行通過,因為cm裝的原生的spark是不支持sparkhql的,我們需要手動進行一些調整:第一步,將編譯好的包含hive的JAR包上傳到hdfs上配置的默認的spark的sharelib目錄:/user/spark/share/lib第二步:在你要運行spark-shell腳本的節點上的/opt/cloudera/parcels/CDH-5.3.0-1.cdh5.3.0.p0.30/lib/spark/lib/目錄下面,下載這個jar到這個目錄:hadoopfs-gethdfs://n1:8020/user/spark/share/lib/spark-assembly-with-hive-maven.jar(具體路徑替換成你自己的)。然後這個目錄下面原來會有個軟鏈接spark-assembly.jar指向的是spark-assembly-1.2.0-cdh5.3.0-hadoop2.5.0-cdh5.3.0.jar,我們把這個軟鏈接刪除掉重新創建一個同名的軟鏈接:ln-sspark-assembly-with-hive-maven.jarspark-assembly.jar,指向我們剛下載下來的那個JAR包,這個JAR包會在啟動spark-shell腳本時裝載到driverprogram的classpath中去的,sparkContext也是在driver中創建出來的,所以需要將我們編譯的JAR包替換掉原來的spark-assembly.jar包,這樣在啟動spark-shell的時候,包含hive的spark-assembly就被裝載到classpath中去了。第三步:在/opt/cloudera/parcels/CDH/lib/spark/conf/目錄下面創建一個hive-site.xml。/opt/cloudera/parcels/CDH/lib/spark/conf目錄是默認的spark的配置目錄,當然你可以修改默認配置目錄的位置。hive-site.xml內容如下:hive.metastore.localfalsehive.metastore.uristhrift://n1:9083hive.metastore.client.socket.timeout300hive.metastore.warehouse.dir/user/hive/warehouse這個應該大家都懂的,總要讓spark找到hive的元數據在哪吧,於是就有了上面一些配置。第四步:修改/opt/cloudera/parcels/CDH/lib/spark/conf/spark-defaults.conf,添加一個屬性:spark.yarn.jar=hdfs://n1:8020/user/spark/share/lib/spark-assembly-with-hive-maven.jar。這個是讓每個executor下載到本地然後裝載到自己的classpath下面去的,主要是用在yarn-cluster模式。local模式由於driver和executor是同一個進程所以沒關系。以上完事之後,運行spark-shell,再輸入:valhiveContext=neworg.apache.spark.sql.hive.HiveContext(sc)應該就沒問題了。我們再執行一個語句驗證一下是不是連接的我們指定的hive元資料庫:hiveContext.sql("showtables").take(10)//取前十個表看看最後要重點說明一下這里的第二步第三步和第四步,如果是yarn-cluster模式的話,應該替換掉集群所有節點的spark-assembly.jar集群所有節點的sparkconf目錄都需要添加hive-site.xml,每個節點spark-defaults.conf都需要添加spark.yarn.jar=hdfs://n1:8020/user/spark/share/lib/spark-assembly-with-hive-maven.jar。可以寫個shell腳本來替換,不然手動一個一個節點去替換也是蠻累的。

㈧ hive腳本無法實現rows查詢

可以實現。
為了讓Spark能夠連接到Hive的原有數據倉庫,我們需要將Hive中的hivesitexml文件拷貝到Spark的conf目錄下,這樣就可以通過這個配置文件找到Hive的元數據以及數據存放。

熱點內容
存儲類型默認分配 發布:2025-05-20 13:32:26 瀏覽:661
qq信息加密 發布:2025-05-20 13:31:32 瀏覽:340
文件夾嗅探器foldersniffer 發布:2025-05-20 12:33:36 瀏覽:912
編譯裝入 發布:2025-05-20 12:32:48 瀏覽:562
萬勝壓縮機價格 發布:2025-05-20 12:20:00 瀏覽:987
判斷雲伺服器是否誠實的存放數據 發布:2025-05-20 12:11:07 瀏覽:377
c語言基礎書 發布:2025-05-20 12:11:00 瀏覽:780
java小數正則表達式 發布:2025-05-20 11:30:58 瀏覽:136
文件夾加密win7 發布:2025-05-20 11:27:46 瀏覽:838
壓縮文件設置密碼有什麼意思 發布:2025-05-20 11:26:37 瀏覽:551