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
150+ Concepts Heard in Data Engineering
A Comprehensive Glossary For Data Engineers
towardsdatascience.com
[Python] PyYAML로 YAML 파일 읽고 쓰기 (Parse and Serialize YAML in Python)
이전 포스팅에서 Python으로 JSON 데이터 읽고 쓰기, XML 데이터 읽고 쓰기에 대해서 소개한 적이 있습니다. 이번 포스팅에서는 Python의 PyYAML 라이브러리를 이용하여 YAML 파일을 파싱하여 파이썬 객
rfriend.tistory.com
'삭제대상' 카테고리의 다른 글
[OS]Multiprogramming, multitasking (0) | 2020.11.24 |
---|