我想知道如何从pig脚本中的hive表加载最新的分区。显然,我可以加载整个数据,然后使用FILTER命令过滤相应的分区。
但是,如果我们不知道hive表的最新日期分区是什么,我们如何获取最新日期本身并加载相应日期的分区?
答案 0 :(得分:0)
据我所知,我们无法直接这样做。我正在指出shell脚本。希望你的分区列是按照日期格式或按照增量顺序排列的。
hive -e 'select max(datehour) from tweets1' > datehour.txt;
# i am storing of above query output to one temp file datehour.txt
datehour=$(awk '{print $0}' /home/winit/Desktop/needtocopy1/hivequeries/datehour.txt)
# reading that file with above command.
hive -e 'describe formatted tweets1 partition (datehour='$datehour')' > partitionloc.txt;
# with describe command i am storing output to onemore temp file.
partionLocation=$(awk '/Location:/ { print $2 }' partitionloc.txt)
# i am reading the temp file with pattern 'Location',its partition location
# pass the location to pig script as parameter to load data from..
pig -f pigfile.pig --param location=$partionLocation
让我知道如果不起作用