pwd
'/home/sergey/Py_SparkDataFrame_edx_CS105_CS110_CS120'

 

Hive позволяет выполнять скрипты из команды строки.
Следующий скрипт позволяет найти имена всех колонок в базе данных:

 

! cat searchInDb.sh
#!/bin/sh
hive -e "use $1;show tables;" |
while read line
	do 
		echo "reading $line table"
		echo "\nCurrent table is $line" >> tableColumns.txt
		hive -e "show columns in $line" >> tableColumns.txt
	done;

 

Данный скрипт необходимо сделать исполняемым:

 

! chmod +x searchInDb.sh

 

Результатом исполнения данного скрипта будет файл tableColumns.txt со списком всех колонок в базе данных:

 

! cat tableColumns.txt
Current table is bikes_parquet
id_                 
bikes_available     
docks_available     
time                

Current table is bikes_parquet77
station_id          
bikes_available     
docks_available     
time                

Current table is bikes_parquet9
station_id          
bikes_available     
docks_available     
time                

Current table is bikes_parquet_777
station_id          
bikes_available     
docks_available     
time                

Current table is calendar
date                
datem10             
datem90             

Current table is calendar10
index               
datem10             
datem90             

 

При помощи простого скрипта awk можно найти название интересующей колонки и имя таблицы, в которой эта колонка встречается:

 

! awk '/Current table/,/docks_available/ {print $0}' tableColumns.txt | grep -iE 'current\ table|docks_available'
Current table is bikes_parquet
docks_available     
Current table is bikes_parquet77
docks_available     
Current table is bikes_parquet9
docks_available     
Current table is bikes_parquet_777
docks_available     
Current table is calendar
Current table is calendar10
Write a comment:

*

Your email address will not be published.

© 2014 In R we trust.
Top
Follow us: