Mam tabelę A w gałęzi z jedną kolumną a1, która zawiera json.
Table A
Columns - a1
Json w kolumnie a1 ma na przykład 5 atrybutów (j1, j2, j3, j4, j5).
Muszę załadować dane z tabeli A do innej tabeli B.
Table B
Columns - b1, b2, b3, b4, b5
Reguła ładowania danych z A do B jest następująca:
b1 - j1
b2 - j2
b3 - j3
b4 - a1 (entire column of A)
Jak to zrobić?
I może zaistnieć potrzeba załadowania danych z B do innej tabeli C.
Today C
Columns - c1, c2, c3
c1, c2, c3 są ładowane danymi z kolumn b1, b2, b3 B
c1 - b1
c2 - b2
c3 - b3
Ale może być konieczne dodanie kolejnej kolumny c4 do C, a c4 musiałby zostać załadowany jednym z atrybutów json (j4) z kolumny b4 B.
c1 - b1
c2 - b2
c3 - b3
c4 - one of the json attributes from column b4 of B
czy to możliwe? Jeśli tak, czy możesz podać mi wskazówki?
Każde inne rozwiązanie również jest w porządku. Chcę tylko przechowywać JSON w historii, aby można było później odzyskać jego atrybuty. W powyższym przykładzie tabela A jest tabelą pomostową, a więc tymczasową.
Odpowiedzi:
0 dla odpowiedzi № 1Hive ma UDF o nazwie get_json_object
.
Może używać ścieżki json
- $: Obiekt root
- . : Operator podrzędny
- []: Operator indeksu dolnego dla tablicy
- *: Symbol wieloznaczny dla []