Sunday 24 December 2017

Typy danych hive binarne opcje


Zastanawiam się, czy istnieje jakiś sposób, aby faktycznie załadować dane CSV do formatu binarnego Hive - tj. Robienie tak samo jak ładowanie danych w relacyjnej bazie danych byłoby możliwe: analizowanie składni i typowanie konwersji danych wejściowych i przechowywanie go w formacie binarnym (w innym binarnym plik w przypadku Hive). Referencja Hive mówi, że polecenie loadpath inpath nie powoduje żadnych zmian, więc podejrzewam, że typy nie są konwertowane, np. od łańcucha do liczby całkowitej. Czytałem o formatach OCR i RCFile, ale nie byłem w stanie dowiedzieć się, czy np. wartości ciągów z CSV są typu przekształcane na wartości całkowite maszyny i zapisywane w formacie HDFS. Czy w tym przypadku istnieją inne możliwości tworzenia binarnych reprezentacji plików CSV w Hive Na powiązanej notatce: podejrzewam, że firma Hive konwertuje wartości ciągów na reprezentacje maszyn podczas przetwarzania zapytań i nie, np. porównanie wartości ciągów - jest to założenie zażądane od 6 maja 13 maja o godzinie 15:59 Domyślnie Hive przechowuje tylko pliki jako zwykłe pliki tekstowe i przechowuje rekordy jako zwykły tekst, wszystkie nieskompresowane. Używa ASCII 0x1 dla separatora pola, który jest wygodniejszy niż przecinek dla niektórych wejść, ale na pewno wypracowaliśmy, jak uzyskać Hive do pracy z rozdzielonymi przecinkami wartościami. Jeśli chcesz, aby Hive użył innego formatu pliku, serializował odmiennie, lub kompresuj dane, masz kilka różnych opcji do zabawy. Poza polem, Hive obsługuje kilka różnych formatów plików: TEXTFILE. SEKWENCJA. i RCFILE. Różnice mają związek z odczytywaniem, dzieleniem i pisaniem plików. TEXTFILE jest domyślnym i działa w normalnych plikach tekstowych. SEQUENCEFILE to binarny format pary klucz-wartość, który można łatwo zużyć w innych częściach ekosystemu Hadoop. A RCFILE jest kolumnowym sposobem na zapisanie tabel Hive. Oprócz tych formatów można pisać własne lub znaleźć inne osoby, które napisały, aby sprostać różnym potrzebom. Oprócz formatu pliku zapisanego w bazie danych, można zdecydować, jak powinny być serializowane i dezorganizowane w tabeli, określając SerDe. Hive 0.9.1 i nowsze są wyposażone w AvroSerDe. a Avro zapisuje dane w formacie binarnym (ma również schemat, który wprowadza pewne komplikacje). Wyszukiwarka Google dla klucza binarnego z bliznami SerDe ujawniła LazyBinarySerde, która brzmi jak bardziej prosty sposób zapisywania w formacie binarnym. A jeśli nie możesz znaleźć czegoś, co pasuje do Twoich potrzeb, zawsze możesz pisać własne SerDe. Wyobrażam sobie, że Twoje pytanie pasuje do dużego kontekstu, jak uczynić stół Hive mniejsze i bardziej performant. W tym celu można zastosować kompresję nad wszystkim, co wspomniałem powyżej. Aby to osiągnąć, po prostu powiedz Hive skompresować dane wyjściowe i poinformować, który kodek kompresuje przy użyciu następujących poleceń: możesz je zmienić w plikach konfiguracyjnych, jeśli chcesz, aby te ustawienia pozostały poza sesją (w tym także inne zadania Hive i MapReduce) dzielą się klastrem). Używam SnappyCodec, ponieważ działa z Hive z pudełka, jest spliterowalny i daje dobrą kompresję do kompresji w stosunku do wydanego czasu procesora. Możesz zdecydować inny kodek jest bardziej odpowiedni do Twoich potrzeb. Teraz, jak zastosować wszystkie te opcje, jeśli wszystkie dane są w formacie CSV Najprostszym sposobem jest utworzenie tabeli na górze plików CSV, a następnie utworzenie innej tabeli z formatowaniem i żądaniem SerDe, a następnie wstaw dane z Stół z CSV w nowym stole (upewniając się, że kompresujesz wyjście Hive z wybranym koderem). Pod maską Hive zadba o to, aby czytać dane z jednego formatu (CSV) i pisać do innego (niezależnie od wybranego). Po tym będziesz mieć duplikat danych i możesz upuścić pliki CSV, jeśli chcesz. Powyższy przykład pokazuje, jak można wykorzystać wszystkie dostępne opcje, ale nie uważaj go za domyślny, rozsądny przypadek użycia. Przeczytaj w różnych formatach plików kodeków kompresji SerDes i wykonaj testy wydajności, aby rozwiązać podejście. W programie Hive możesz przechowywać pliki w formacie HDFS i dodawać metadane, aby powiedzieć Hive, jakie pola chcesz czekać na każdej pozycji w pliku ( separator i separatory w pliku tekstowym, rzędy w różnych formatach binarnych). Możesz wygenerować własne dane wyjściowe i używać go z formatami wejściowymi i wyjściowymi. Może konwertować obrazy na np. BASE64 jak załącznik i używać TextFile. Dużo możliwości, ale nie zapytanie o zapis obrazów. Możesz mieć, kontynuować przykład TextFile, ale nie najlepszą metodę, plik z tym formatem: I załaduj do uli: jeśli używasz wersji Hive 0.8, możesz użyć BINARY DataType w definicji tabeli i załadować ją. Hive podmuchuje ponad 25 lat, sprawdza się na bieżąco informacje o wysokiej jakości handlu dziennie w obszarze członków. Są to oparte na naszych zastrzeżonych algorytmach, które wykazują średnią wygraną w wysokości 65 lat w stosunku do lat testowania i danych. Społeczność Chat The Hive oferuje chat na żywo, gdzie można porozmawiać z innymi przedsiębiorcami i dyskutować o wszystkich rzeczach związanych z binarnymi opcjami i rynkami w ogóle. Możesz także zweryfikować sygnały z wyższymi przedsiębiorcami w celu zwiększenia ITM. Przestrzegaj Lidera Hive pozwala również subskrybować płatne strumienie sygnałów gwiazdy, dobierane ręcznie podmioty z opcjami binarnymi, które mają sprawdzony zapis. Jeśli sygnały robota są niewystarczające lub preferujesz ludzki kontakt, przestrzegaj liderów Przezroczystość Przejrzystość jest dla nas najważniejsza i dlatego częstotliwość wygrywania sygnału jest stale aktualizowana i nie ma żadnych ukrytych strat. Twoja wydajność to nasze działanie i nigdy nie wyświetlamy fałszywych lub wygładzonych wyników.

No comments:

Post a Comment