Data serialization (encoding, marshalling) is the process of converting structured data to a format that allows sharing or storage of the data in a form that allows recovery of its original structure.
즉, 정형데이터(table)을 전달/저장이 가능하고 수신자/다시 볼 사람 이 로드하였을 때 원본을 다시 볼 수 있는 format으로 converting하는 과정이다.
아래에는 Data serialization의 예를 살펴보자.
Parquet:
column-wise
binary format(따라서 not human-readable)
column-by-column compression(따라서 각 column마다 different encoding type가능)
Avro:
row-wise
binary format(따라서 not human-readable)
robust support for schemas(that change over time)
(schema definition written together with the data in a file)
CSV(Comma Separated Values)
tabular data(each line have the same number of fields)
human-readable
JSON(JavaScript Object Notation):
key:value encoding format
lightweight data-interchange format(적은 용량으로 수신자/송신자 사이 데이터 교환에서 데이터 손실이 거의 없는 가벼운 형식)
human-readable
easy for machine to parse and generate
(value는 큰따옴표안에 string, number ,true ,false , null, object ,array이 올수 있다.)
YAML(YAML Ain't Markup Language):
human-readable
minimalistic syntax
(주로 configuration에 사용)
(아래 참고자료에 사용 예시가 잘 나와 있음)
XML(eXtensible Markup Language):
markup language
human-readable
참고자료:
150+ Concepts Heard in Data Engineering | by Dardan Xhymshiti | Towards Data Science
'삭제대상' 카테고리의 다른 글
[OS]Multiprogramming, multitasking (0) | 2020.11.24 |
---|