직렬화(Serialization)
- 정의: 직렬화는 프로그램에서 사용되는 데이터 구조나 객체를 파일, 메모리, 네트워크 등에서 쉽게 저장하거나 전송할 수 있는 형식으로 변환하는 과정입니다.
- 예시: 복잡한 객체를 바이너리(binary)나 텍스트 형식(JSON, XML 등)으로 변환하여 저장하거나 전송합니다.
- 네트워크를 통해 객체를 전송할 때(예: 웹 서비스에서 JSON 형식으로 데이터 전송)
- 객체를 파일에 저장할 때(예: 데이터베이스에 객체를 저장)
- 메모리 상의 객체를 저장하여 나중에 다시 사용할 때(예: 프로그램 종료 후에도 객체 상태 유지)
역직렬화(Deserialization)
- 정의: 역직렬화는 직렬화된 데이터를 다시 원래의 객체나 데이터 구조로 복원하는 과정입니다.
- 예시: 전송된 JSON 데이터를 다시 프로그램 내에서 사용할 수 있는 객체로 변환합니다.
직렬화와 역직렬화의 예
- JSON 직렬화: 객체를 JSON 문자열로 변환하여 저장하거나 전송.
- JSON 역직렬화: JSON 문자열을 다시 객체로 변환하여 프로그램에서 사용.
- NIFI에서 JSON형태의 schema + csv 파일 -> avro type의 객체로 역직렬화 -> parquet 포맷으로 직렬화
'Apache Avro' 카테고리의 다른 글
avro plugin을 이용한 Spring boot 실습 - 3 (avro read) (1) | 2024.09.24 |
---|---|
avro plugin을 이용한 Spring boot 실습 - 2 (avro write) (1) | 2024.09.24 |
avro dependency를 이용한 Spring boot 실습 (without plugins) (1) | 2024.09.24 |
avro plugin을 이용한 Spring boot 실습 - 1 (환경설정) (0) | 2024.09.21 |
apache avro 란? (0) | 2024.09.21 |
댓글