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: