2015-12-10 63 views
-1

我有一個csv文件和CTL與像列名,大小,行數的文件信息,位置蜂巢和UNIX腳本

我必須加載到蜂巢和蜂巢創建一個CTL文件表

檢查,如果CTL文件同時匹配或不

我想編寫一個bash腳本提取從蜂巢ç蜂巢表信息ommand '描述格式化表名'並創建另一個ctl文件並比較兩個CTl文件。

不知道腳本語法,但我認爲它可以acheieved

是那裏獲得蜂巢表信息的另一種方式?還是另一種爲整個方法

+0

僅供參考,您可以使用hive -e命令獲取描述格式化表名的輸出。您可以將其與腳本集成。 –

+0

這就是我正在嘗試的。但我想要關於它的腳本信息,我想從配置單元表中提取更多信息並提取一行。下面是我的csv文件的示例CTL文件。 FILE_NAME | FILE_SIZE | ROW_COUNT | FILE_CREATED | COL1 | COL2 | COL3 | ..COLN | – Avinash

+0

我想從describe格式的command.any語法中只提取列名 – Avinash

回答

0

要獲得列只

hive -e "describe <table_name>"|awk -F" " '{ print $1 }' 

名稱如果要重定向到一個文件

hive -e "describe <table_name>"|awk -F" " '{ print $1 }' >> describe.txt 
0

1)提供有關CTL的完整信息文件。 2)解析csv的ctl文件並創建一個基於該表的配置單元表A 3)使用相同的解析器創建表B與其他ctl表 4)運行'通過刪除類似CreateTime的條目來描述格式化的表A和表B :LastAccessTime的位置,並把它放在一個文件 5)找到每個文件的差異

可能如果你可以給出更多的細節如何通過文件的例子,我們可以準備bash腳本來自動化它。

在此處提供的說明表名輸出給你的bash腳本來獲得列名