Shell指令碼執行Hive語句

2021-08-30 23:31:15 字數 957 閱讀 6508

一、環境

1、hadoop 0.20.2

2、hive 0.5

3、作業系統 linux m131 2.6.9-78.8axs2smp #1 smp tue dec 16 02:42:55 est 2008 x86_64 x86_64 x86_64 gnu/linux

二、步驟

1、直接貼上指令碼吧

#!/bin/bash

#give the params: name value tablename

if [ $# -eq 3 ]

then

name=$1

value=$2

tablename=$3

echo name=$

echo value=$

echo tablename=$

else

echo "usage: $0 username username_value tablename"

exit 1

ficd /run/hie/kakadata

#1.select the dialaccount, srcip

cd /jz/hiveuser/hive.kaka/

echo "insert overwrite directory '/bcpdata/kaka/ad_ip_$_$' select distinct if(account<>'',account,0)

as account, if(account<>'', 0, ip) as ip from $ where $='$'; " | /jz/hive-0.5.0-bin/bin/hive

2、需要注意的是這裡用到了hive.kaka目錄下的cli,所以如果這個控制端是開啟的,那麼需要先退出再執行這個指令碼。

三、總結

1、採用shell指令碼來執行一些查詢語句可以簡化很多的開發工作

2、可以利用linux自身的一些工具,實現定時的job任務

Shell指令碼實現執行 Hive指令碼

hive是基於hadoop的乙個資料倉儲工具,可以將結構化的資料檔案hive對映為一張資料庫表,並提供完整的sql查詢功能,可以將sql語句轉換為mapreduce任務進行執行。hive目前還不支援像mysql那樣的sql指令碼,如果遇到需要批量處理hql就會比較麻煩 這兩天就遇到需要批量刪除有命名...

Hive 指令碼執行

繼上篇ddl中load的資料繼續進行指令碼操作。hive執行指令碼 hive e sql語句 會將查詢的結果列印在控制台上。hive e sql語句 會將查詢的結果重定向到 檔案中,會顯示ok和抓取的資料條數 hive s e sql語句 會將查詢的結果重定向到 檔案中,不會顯示ok和抓取的資料條數...

shell 執行shell指令碼

bin bash echo hello world 是乙個約定的標記,它告訴系統這個指令碼需要什麼直譯器來執行,即使用哪一種 shell。echo 命令用於向視窗輸出文字。1 作為可執行程式 chmod x test.sh 使指令碼具有執行許可權 test.sh 執行指令碼注意,一定要寫成 test...