{"version":1,"pages":[{"id":"-LmdlJ6M1CLkgPEu02II","title":"Practical Data Pipeline","pathname":"/practical-data-pipeline","siteSpaceId":"sitesp_EKNUx","description":""},{"id":"-LmdvY0CCOhZNaUhBylg","title":"시작 전에 드리는 당부의 말","pathname":"/practical-data-pipeline/disclaimer","siteSpaceId":"sitesp_EKNUx","description":"Disclaimer"},{"id":"-Lme0V1kVb9zZzbwEt60","title":"1.1 데이터 파이프라인","pathname":"/practical-data-pipeline/01-data-infra/1.1","siteSpaceId":"sitesp_EKNUx","description":"Data Infrastructure","breadcrumbs":[{"label":"01 - 데이터 인프라"}]},{"id":"-Lmds9xxV8pdPX6JM1Ga","title":"1.2 데이터 입수 (Ingestion)","pathname":"/practical-data-pipeline/01-data-infra/1.2","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"01 - 데이터 인프라"}]},{"id":"qMbArHzid9sLcTZCYAK6","title":"1.2 데이터 가공 (Processing)","pathname":"/practical-data-pipeline/01-data-infra/1.2-processing","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"01 - 데이터 인프라"}]},{"id":"hczD72zYIW9PMIxOgOyW","title":"1.3 데이터 저장 (Storage)","pathname":"/practical-data-pipeline/01-data-infra/1.3-storage","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"01 - 데이터 인프라"}]},{"id":"-LmdsDW40F0zmCXgXT_r","title":"1.4 데이터 분석 (Analysis)","pathname":"/practical-data-pipeline/01-data-infra/1.3","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"01 - 데이터 인프라"}]},{"id":"-Lme0YG_HsEEW3oCw9Jc","title":"2.1 데이터 처리","pathname":"/practical-data-pipeline/02-processing/2.1","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"}]},{"id":"-Lmdsyf2wjCDbMs9a-HN","title":"2.2 배치 (Batch) 처리","pathname":"/practical-data-pipeline/02-processing/2.2-batch","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"}]},{"id":"-MlKvgEGBHAhfVV8ANGv","title":"2.1.1 Spark Intro","pathname":"/practical-data-pipeline/02-processing/2.2-batch/2.1.1-spark-intro","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.2 배치 (Batch) 처리"}]},{"id":"-MlLHWh7iwdqv93oV370","title":"2.1.2 Spark Tutorial","pathname":"/practical-data-pipeline/02-processing/2.2-batch/2.1.2-spark-tutorial","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.2 배치 (Batch) 처리"}]},{"id":"ec9Swd7OVormxcBjeDLg","title":"2.1.3 Spark Concept","pathname":"/practical-data-pipeline/02-processing/2.2-batch/2.1.3-spark-concept","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.2 배치 (Batch) 처리"}]},{"id":"63ZSFdKvdKplLABXR9Y2","title":"2.1.4 Spark Architecture","pathname":"/practical-data-pipeline/02-processing/2.2-batch/2.1.4-spark-architecture","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.2 배치 (Batch) 처리"}]},{"id":"1jVH1rNrLfqVlNCsWf6t","title":"2.1.5 Spark DataFrame","pathname":"/practical-data-pipeline/02-processing/2.2-batch/2.1.5-spark-dataframe","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.2 배치 (Batch) 처리"}]},{"id":"IqfH9P8tmQivJwuCgSnD","title":"2.1.6 Spark Persistence","pathname":"/practical-data-pipeline/02-processing/2.2-batch/2.1.6-spark-persistence","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.2 배치 (Batch) 처리"}]},{"id":"jiCB4gWTuWeMDLOstwxI","title":"2.1.7 Spark Cache","pathname":"/practical-data-pipeline/02-processing/2.2-batch/2.1.7-spark-cache","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.2 배치 (Batch) 처리"}]},{"id":"5wZtBKTkXJTj9Ab2dUcl","title":"2.1.8 Spark SQL & Table","pathname":"/practical-data-pipeline/02-processing/2.2-batch/2.1.8-spark-sql-and-table","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.2 배치 (Batch) 처리"}]},{"id":"WglIEVzmfbaT53qpStwv","title":"2.1.9 Spark Join","pathname":"/practical-data-pipeline/02-processing/2.2-batch/2.1.9-spark-join","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.2 배치 (Batch) 처리"}]},{"id":"-MlLHi1KbEn7oInW-p-c","title":"2.2.1 Spark Memory","pathname":"/practical-data-pipeline/02-processing/2.2-batch/2.1.5-spark-memory-management","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.2 배치 (Batch) 처리"}]},{"id":"kim51vd4sBORKBwp8UtX","title":"2.2.2 Spark Versions","pathname":"/practical-data-pipeline/02-processing/2.2-batch/2.2.2-spark-versions","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.2 배치 (Batch) 처리"}]},{"id":"-Lmdt1S3dVLPZ1E4Jy1y","title":"2.3 워크플로우 (Workflow) 관리","pathname":"/practical-data-pipeline/02-processing/2.3-workflow","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"}]},{"id":"-LmdtA5iillVfJhwz_g0","title":"2.4 스트림 (Stream) 처리","pathname":"/practical-data-pipeline/02-processing/2.4-stream","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"}]},{"id":"gBQZntdBMIEqxfrDzj38","title":"2.4.1 Kafka Intro","pathname":"/practical-data-pipeline/02-processing/2.4-stream/2.4.1-kafka-intro","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.4 스트림 (Stream) 처리"}]},{"id":"lXCJkp4sACkCC56eTbNA","title":"2.4.2 Kafka Advanced","pathname":"/practical-data-pipeline/02-processing/2.4-stream/2.4.2-kafka-advanced","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.4 스트림 (Stream) 처리"}]},{"id":"71lHbwnxshNlRFaZoRmO","title":"2.4.3 Spark Streaming","pathname":"/practical-data-pipeline/02-processing/2.4-stream/2.4.3-spark-streaming","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.4 스트림 (Stream) 처리"}]},{"id":"0BpT1wTmT4GYhw4TRUmb","title":"2.4.4 Streaming Window","pathname":"/practical-data-pipeline/02-processing/2.4-stream/2.4.4-streaming-window","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.4 스트림 (Stream) 처리"}]},{"id":"cBQmhLk70vLOGu3EpPVm","title":"2.4.5 Streaming State","pathname":"/practical-data-pipeline/02-processing/2.4-stream/2.4.5-streaming-state","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.4 스트림 (Stream) 처리"}]},{"id":"t9jmd0gAVTiZ13NMbGcJ","title":"2.4.6 Streaming Sink","pathname":"/practical-data-pipeline/02-processing/2.4-stream/2.4.6-streaming-sink","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"02 - 데이터 처리"},{"label":"2.4 스트림 (Stream) 처리"}]},{"id":"-MlKsw-HVvOFyy9FGzDj","title":"4.1 Kafka","pathname":"/practical-data-pipeline/04-data-storage/untitled","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"04 - 데이터 스토리지"}]},{"id":"0Lht56C7sWBh3Dlsj8gw","title":"4.1 Kafka Concept","pathname":"/practical-data-pipeline/04-data-storage/untitled/4.1-kafka-concept","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"04 - 데이터 스토리지"},{"label":"4.1 Kafka"}]},{"id":"bPqhU9T9wataVChDWIos","title":"4.2 Kafka Advanced","pathname":"/practical-data-pipeline/04-data-storage/untitled/4.2-kafka-advanced","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"04 - 데이터 스토리지"},{"label":"4.1 Kafka"}]},{"id":"vGRTI9HIZuEu1awKQTxP","title":"4.3 Kafka Versions","pathname":"/practical-data-pipeline/04-data-storage/untitled/4.3-kafka-versions","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"04 - 데이터 스토리지"},{"label":"4.1 Kafka"}]},{"id":"-MlKtLCs4kzqMASLXDzc","title":"4.2 Redis","pathname":"/practical-data-pipeline/04-data-storage/4.2","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"04 - 데이터 스토리지"}]},{"id":"-MlKto59Qt4EDxxYFovZ","title":"4.3 RDB (MySQL)","pathname":"/practical-data-pipeline/04-data-storage/4.3-rdb-mysql","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"04 - 데이터 스토리지"}]},{"id":"-MlKtoZ1QzHavVar3xtp","title":"4.4 ElasticSearch","pathname":"/practical-data-pipeline/04-data-storage/4.4","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"04 - 데이터 스토리지"}]},{"id":"-MlKtouJlX85CWaJZJXL","title":"4.5 KV Storage (DynamoDB)","pathname":"/practical-data-pipeline/04-data-storage/4.5-kv-storage-dynamodb","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"04 - 데이터 스토리지"}]},{"id":"-MlKtyUsBSXPQV6x1GVh","title":"4.6 Druid","pathname":"/practical-data-pipeline/04-data-storage/4.6-druid","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"04 - 데이터 스토리지"}]},{"id":"-LmdpeBgc11j511_gyX_","title":"5.1 데이터 서비스","pathname":"/practical-data-pipeline/05-data-application/untitled","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"05 - 데이터 애플리케이션"}]},{"id":"-Lmdvg1X_yzDmEkZDvVi","title":"5.2 통계 서비스","pathname":"/practical-data-pipeline/05-data-application/5.2","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"05 - 데이터 애플리케이션"}]},{"id":"-LmdvjBIqMITSKJAef5l","title":"5.3 추천 서비스","pathname":"/practical-data-pipeline/05-data-application/5.3","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"05 - 데이터 애플리케이션"}]},{"id":"-LmdvljhqavrxTG3u1JX","title":"5.4 A/B 테스팅","pathname":"/practical-data-pipeline/05-data-application/5.4","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"05 - 데이터 애플리케이션"}]},{"id":"xrbktD8RBbpy6Iy7KVNL","title":"Week 1 - Data Pipeline","pathname":"/practical-data-pipeline/08-case-study/week-1-data-pipeline","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"08 - Case Study"}]},{"id":"0ehIs1YQZvYfyJgi8V19","title":"Week 2 - EMR & Kubernetes","pathname":"/practical-data-pipeline/08-case-study/week-2-emr-and-kubernetes","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"08 - Case Study"}]},{"id":"yJEyoz7626Yrgl1vbmiX","title":"Week 3 - Metastore","pathname":"/practical-data-pipeline/08-case-study/week-3-metastore","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"08 - Case Study"}]},{"id":"pWuwUr9DIRPUqlxYHiDx","title":"Week 4 - KV & Delta Storage","pathname":"/practical-data-pipeline/08-case-study/week-4-kv-and-delta-storage","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"08 - Case Study"}]},{"id":"aiomb8McwpRz8ovRR1XI","title":"Week 5 - Kafka Rebalancing","pathname":"/practical-data-pipeline/08-case-study/week-5-kafka-rebalancing","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"08 - Case Study"}]},{"id":"HGRihdeRUEcCnTVt6o4E","title":"Week 6 - ML Pipeline","pathname":"/practical-data-pipeline/08-case-study/week-6-ml-pipeline","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"08 - Case Study"}]},{"id":"zMPzur6HrG4C84o1TAN8","title":"Spark 설치 및 환경 구성","pathname":"/practical-data-pipeline/09-installation/spark","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"09 - 설치 및 환경 구성"}]},{"id":"WeZeqPymJPisosbop7OV","title":"Spark - Local Shell 환경","pathname":"/practical-data-pipeline/09-installation/spark/spark-local-shell","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"09 - 설치 및 환경 구성"},{"label":"Spark 설치 및 환경 구성"}]},{"id":"w782sjPsnwUtOpGqMX8k","title":"Spark - Local Jupyter 환경","pathname":"/practical-data-pipeline/09-installation/spark/spark-local-jupyter","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"09 - 설치 및 환경 구성"},{"label":"Spark 설치 및 환경 구성"}]},{"id":"AYp3PYMXYFJMPbrlv6dx","title":"Spark - Kubernetes 환경","pathname":"/practical-data-pipeline/09-installation/spark/spark-kubernetes","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"09 - 설치 및 환경 구성"},{"label":"Spark 설치 및 환경 구성"}]},{"id":"YmBUiFtphBSIv907UeOF","title":"Spark - EMR 환경","pathname":"/practical-data-pipeline/09-installation/spark/spark-emr","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"09 - 설치 및 환경 구성"},{"label":"Spark 설치 및 환경 구성"}]},{"id":"6WNAI65DfLwiON5HB7fU","title":"Spark - Databricks 환경 (SaaS)","pathname":"/practical-data-pipeline/09-installation/spark/spark-databricks-saas","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"09 - 설치 및 환경 구성"},{"label":"Spark 설치 및 환경 구성"}]},{"id":"pSXiHT736dstQB2vMjzb","title":"Flink 설치 및 환경 구성","pathname":"/practical-data-pipeline/09-installation/flink","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"09 - 설치 및 환경 구성"}]},{"id":"8UBsh96rRBz9nyf3CGvu","title":"Kafka 설치 및 환경 구성","pathname":"/practical-data-pipeline/09-installation/kafka","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"09 - 설치 및 환경 구성"}]},{"id":"K106noxpVAw0EJqyHK5g","title":"MySQL 설치 및 환경 구성","pathname":"/practical-data-pipeline/09-installation/mysql","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"09 - 설치 및 환경 구성"}]},{"id":"LAwbAN1eg2EtcLfSlUDq","title":"DynamoDB 사용을 위한 환경 구성","pathname":"/practical-data-pipeline/09-installation/dynamodb","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"09 - 설치 및 환경 구성"}]},{"id":"f1zFNIVZqL4IGiZBBAFs","title":"ElasticSearch 설치 및 환경 구성","pathname":"/practical-data-pipeline/09-installation/elasticsearch","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"09 - 설치 및 환경 구성"}]},{"id":"7Zcy1Nvi9VB3sVkUIZr9","title":"Presto 설치 및 환경 구성","pathname":"/practical-data-pipeline/09-installation/presto","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"09 - 설치 및 환경 구성"}]},{"id":"957qFDP0n6YMov9NpBak","title":"Druid 설치 및 환경 구성","pathname":"/practical-data-pipeline/09-installation/druid","siteSpaceId":"sitesp_EKNUx","description":"","breadcrumbs":[{"label":"09 - 설치 및 환경 구성"}]}]}