co to jest system serializacji danych?

Według Apache AVRO project, "Avro jest systemem serializacji". Mówiąc system serializacji danych, czy oznacza to, że avro jest produktem lub api?

Również nie jestem pewien, co to jest system serializacji danych? na razie rozumiem, że jest to protokół, który określa, w jaki sposób obiekt danych jest przekazywany przez sieć. Czy ktoś może pomóc wyjaśnić to w sposób intuicyjny, że jest to łatwiejsze dla osób z ograniczonym rozproszonym zapleczem obliczeniowym do rozumiesz?

Z góry dzięki!

Author: marcosbeirigo, 2010-03-21

2 answers

Więc kiedy Hadoop był pisany przez Douga Cuttinga, zdecydował, że standardowa Java metoda serializacji obiektu Java przy użyciu Java Object Serialization (Java Serialization) nie spełnia jego wymagań dla Hadoop. Mianowicie, wymagania te były:

  1. Serializuj dane do kompaktowego formatu binarnego.
  2. Bądź szybki, zarówno pod względem wydajności, jak i szybkości transferu danych.
  3. interoperacyjne tak, aby inne języki podłączyły się do Hadoop łatwiej.

Jak opisał serializację Javy:

Wyglądał na duży i owłosiony i pomyślałem, że potrzebujemy czegoś chudego i złośliwego

Zamiast używać Java Serialization napisali własny framework serialization. Głównym problemem związanym z Serializacją Javy było to, że zapisuje ona nazwę klasy każdego obiektu serializowanego do strumienia, przy czym każda kolejna instancja tej klasy zawiera 5-bajtowe odniesienie do pierwszej, zamiast do nazwa klasy.

Oprócz zmniejszenia efektywnej przepustowości strumienia powoduje to problemy z losowym dostępem, a także sortowaniem rekordów w serializowanym strumieniu. Tak więc serializacja Hadoop nie zapisuje nazwy klasy ani wymaganych referencji i zakłada, że klient zna oczekiwany Typ.

Serializacja Java tworzy również nowy obiekt dla każdego z nich, który jest deserializowany. Pliki zapisujące Hadoop, które implementują serializację Hadoop, mogą być ponownie użyte. W ten sposób pomagając aby poprawić wydajność MapReduce, która akcentowo serializuje i deserializuje miliardy rekordów.

Avro pasuje do Hadoop, ponieważ podchodzi do serializacji w inny sposób. Klient i serwer wymieniają schemat opisujący strumień danych. Dzięki temu jest szybki, kompaktowy i co ważne ułatwia mieszanie ze sobą języków.

Więc Avro definiuje format serializacji, protokół dla klientów i serwerów do komunikacji tych strumieni szeregowych i sposób aby zwięźle utrwalić dane w plikach.

Mam nadzieję, że to pomoże. Myślałem, że trochę historii Hadoop pomoże zrozumieć, dlaczego Avro jest podprojekt Hadoop i co jego oznacza, aby pomóc.

 26
Author: Binary Nerd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-22 04:20:30

Jeśli musisz przechowywać w ograniczonym Pliku informacje, takie jak szczegóły implementacji hierarchii lub struktury danych i przekazywać te informacje przez sieć, Używasz serializacji danych. Jest bliski zrozumienia formatu xml lub json. Zaletą jest to, że informacje, które są tłumaczone na dowolny format serializacji, mogą być deserializowane w celu regeneracji klas, obiektów, struktur danych, niezależnie od tego, co zostało serializowane.

actual implementation-->serialization-->.xml or .json or .avro --->deserialization--->imlementation in original form

Tutaj {[5] } znajduje się link do listy formaty serializacji. Skomentuj, jeśli chcesz uzyskać więcej informacji! :)

 0
Author: Amitesh Ranjan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-26 11:01:35