mam plik csv i CTL z informacjami o pliku, takimi jak nazwy kolumn, rozmiar, rząd wierszy, lokalizacja
Muszę to załadować ul i utwórz plik ctl dla tabeli ula
i sprawdź, czy oba pliki ctl pasują czy nie
Myślę o napisaniu skrypt bash aby wyodrębnić informacje z tablicy ula z polecenia ula "opisz sformatowaną tablename" i tworzenie kolejnego pliku ctl i porównywanie obu plików CTl.
nie jestem pewien składni skryptów, ale myślę, że można to osiągnąć
czy istnieje inny sposób uzyskania informacji o tablicy ula lub inny sposób dla całego podejścia
Odpowiedzi:
0 dla odpowiedzi № 1Aby uzyskać tylko nazwy kolumn
hive -e "describe <table_name>"|awk -F" " "{ print $1 }"
Jeśli chcesz przekierować do pliku
hive -e "describe <table_name>"|awk -F" " "{ print $1 }" >> describe.txt
0 dla odpowiedzi nr 2
1) podać pełną informację o CTLplik. 2) parsuj plik ctl csv i stwórz na nim tabelę A w oparciu o to 3) używając tego samego parsera utwórz tabelę B z drugą tabelą ctl 4) uruchom "opisz sformatowaną tabelę A i tabelę B usuwając wpisy takie jak: CreateTime: LastAccessTime Location i umieść je w pliku 5) znajdź różnicę każdego pliku
prawdopodobnie jeśli możesz podać więcej szczegółów na temat tego, jak pliki są przykładowe, możemy przygotować skrypty bash, aby je zautomatyzować.
podaj tutaj wynik nazwy tabeli pulpitu, aby uzyskać skrypt basha, aby uzyskać nazwy kolumn