2015-05-07 13 views
5

Jestem nowy w pliku ORC. Przeszedłem przez wiele blogów, ale nie zrozumiałem dokładnie. Prosimy o pomoc i wyjaśnienie poniższych pytań.Plik ORC Hadoop - jak to działa - jak pobrać metadane

  1. Czy mogę pobrać schemat z pliku ORC? Wiem, że w Avro schemat można pobrać.

  2. W jaki sposób zapewnia on ewolucję schematu? Wiem, że można dodać kilka kolumn. Ale jak to zrobić. Jedyne, co wiem, to tworzenie pliku orc poprzez ładowanie danych do tabeli hive, które przechowują dane w formacie orc.

  3. Jak działa indeks plików ORC? Wiem tylko, że każdy indeks paska zostanie zachowany. Ale jak plik nie jest posortowany, jak to pomaga wyszukiwać dane na liście pasków. Jak pomaga w pomijaniu pasków przy wyszukiwaniu danych?

  4. Czy indeks jest utrzymywany dla każdej kolumny. Jeśli tak, to czy nie zużyje więcej pamięci?

  5. W jaki sposób plik ORC formatu kolumnowego może zmieścić się w tabeli ula, gdzie wartości poszczególnych kolumn są przechowywane razem. mając na uwadze, że tablica ula jest tworzona w celu uzyskania rekordu według rekordu. Jak oba będą pasować do siebie?

Odpowiedz

0

Hej nie mogę pomóc na wszystkie pytania, ale będę spróbować

  1. można użyć narzędzia filedump odczytać metadane ORC akt zobaczyć here

  2. Nie jestem pewien co do ewolucji schematu, ale o ile wiem, ORC nie wspiera ewolucji.

  3. Indeks ORC przechowuje sumę min i maks., Więc jeśli dane są całkowicie nieustrukturyzowane, prawdopodobnie nadal będzie trzeba odczytać wiele danych. Ale od ostatniej wersji ORC można dodać dodatkowy filtr Bloom, który jest dokładniejszy w eliminacji grup wierszy. Może to może być pomocne orc-user mailing list

  4. ORC zapewnia indeks dla każdej kolumny, ale jest to tylko indeks wagi. Przechowujesz informacje o min/max i sumach na kolumnach numerycznych w filefooter, stripefooter i domyślnie co 10000 wierszy. więc nie zajmuje dużo miejsca

  5. Jeśli przechowujesz tabelę w Orc Fileformat Hive użyje określonego czytnika ORC, aby wyodrębnić wiersze z kolumn. Zaletą kolumnowego składowania jest to, że nie trzeba czytać cały rząd

3

1. i 2. Zastosowanie ula i/lub HCatalog tworzyć, czytać, aktualizować ORC struktury tabeli w ulu metastore (HCatalog tylko boczne drzwi niż pozwala Pig/Sqoop/Spark/cokolwiek dostępu do metastore bezpośrednio)

2.ALTER TABLE komenda pozwala na dodanie kolumn/zasnąć bez względu na rodzaj magazynowania, ORC zawarte. Ale uwaga na nieprzyjemnego błędu, który może zawiesić wektoryzacji czyta po tym (przynajmniej w V0.13 i V0.14)

3. i 4. Określenie "wskaźnik" jest raczej nieodpowiednie. Zasadniczo jest to informacja o minimalnej/maksymalnej wartości utrzymywana w stopce na pasku w czasie zapisu, a następnie używana w czasie odczytu do pomijania wszystkich pasków, które wyraźnie nie spełniają wymagań WHERE, radykalnie redukując operacje wejścia/wyjścia w niektórych przypadkach (trik, który stał się popularny w kolumnach przechowuje np Infobright na MySQL, ale również w urządzeniach Oracle Exadata [mianem "smart scan" przez marketingu Oracle])

5. Hive współpracuje z formatami "store" (wiersz Tekst, SequenceFile, AVRO) i formaty "kolumnowe" (ORC, Parquet). Optymalizator używa tylko określonych strategii i skrótów w początkowej fazie mapy - np. eliminacja pasków, wektoryzacja operatorów - i oczywiście fazy serializacji/deserializacji są nieco bardziej rozbudowane w magazynach kolumnowych.