hive e Hive f 出現WARN問題

2021-09-24 23:33:42 字數 1392 閱讀 7173

hive -e 是執行指定sql,-f 是執行指定hql檔案。

hive -e / -f 會出現wrn:

warn: the method class org.apache.commons.logging.impl.slf4jlogfactory#release() was invoked.

warn: please see for an explanation.

因為cdh上棄用了hive cli,但因為一些企業任在使用,他們使用cli連線其他程式容易出錯,所以會警告提示。

只在cli上查詢是不會有warn的,但如果將cli的結果跟其他程式連線時,就會出現這樣情況。

原因是cdh上執行的hive載入了spark的jar包到它的classpath下:

# add spark assembly jar to the classpath

if [[ -n "$spark_home" && !("$hive_skip_spark_assembly" = "true") ]]

then

sparkassemblypath=`ls $/lib/spark-assembly-*.jar`

classpath="$:$"

fi

有時需要重定向輸出結果時,檔案末尾會帶這兩個warn,對資料處理不太友好

1. 使用 grep -v 過濾掉warn

hive -e "show databases; exit;" | grep -v "warn" > /liujinhe/bak/databases/database
2. 直接從hive匯出到資料

insert overwrite local directory '/liujinhe/bak/databases/database/table'

row format delimited fields terminated by '\t'

select * from test.words;

3. 設定 hive_skip_spark_assembly=truecdh支援了hive_skip_spark_assembly引數設定,所以可以設定這個引數來關閉warn提示。

echo "export hive_skip_spark_assembly=true" >> /etc/profile

source /etc/profile

參考料

解壓war包和重新壓縮war包

public class warutils else in.close catch filenotfoundexception e catch archiveexception e catch ioexception e 判斷war包是否已經存在,若存在則刪除 param filepath publ...

war檔案解釋

1.war其實就是.zip格式,你用winzip都可以做乙個,想壓縮成.zip再把字尾名改為war就行了,只不過需要注意壓縮的層次和相應的配置檔案的位置。一般都用開發工具的生成嚮導做乙個。2.war包一般就是乙個用於發布的檔案,一般是不會在其他工程中匯入的,只有jar包才會匯入到其它工程中,在工程屬...

Linux下打包壓縮war,解壓war和jar命令

環境 redhat linux 9 vwware 8.0 ssh 3.2.9 putty 0.62 問題linux下打包壓縮war 解壓war包和jar命令 解決把project a資料夾下的檔案打包成project.war 1,打包 jar xvf project.war project a c ...