본문 바로가기

분류 전체보기

(124)
Spark DataSources and Sinks External Data sources데이터들은 oracle이나 SQL Server같은 몇몇 source systems에 저장이 될 것이다.some application servers에도 저장이 될 것이다.(application logs같은…) 하지만, 이 모든 시스템들은 내가 사용할 DataLake의 외부에 존재한다. 우리는 DataLake conceptual diagram에서 이들을 볼 수 없다.JDBC Data SourcesOracle, SQL Server, PostgreSQLNoSQL Data SystemsCassandra, MongoDBCloud Data WarehousesSnowflake, RedshiftStream IntegratorsKafka, Kinesis위와 같은 External Dat..
Spark: Spark Structured API Foundation Apache Spark는 대규모 데이터 처리와 분석을 효율적으로 수행할 수 있도록 설계된 분산 처리 플랫폼입니다. 특히, Hadoop의 MapReduce 모델을 개선하고 단순화하는 것을 목표로 개발되었다.Spark의 핵심 개념인 RDD, DataFrame, Dataset과 Spark SQL의 최적화 엔진인 Catalyst Optimizer에 대해 알아보고자 한다.1. Spark의 RDD(Resilient Distributed Dataset)Spark의 RDD는 대규모 데이터 처리의 기본 단위로, 데이터를 분산된 클러스터에서 효율적으로 처리할 수 있도록 설계된 핵심 데이터 구조이다.RDD는 단순한 데이터 구조를 가지기 때문에 Schema와 row/column 구조가 없다. RDD는 기본적으로 데이터 레코드..
Backtracking: 백준 N과 M(1), N-QUEEN 📃 문제: 백준 15649_N과 M(1) 백준 15649는 Backtracking의 개념을 이용해 풀 수 있는 문제이다.Backtracking은 현재 상태에서 가능한 모든 후보군을 따라 들어가며 탐색하는 알고리즘이다.Backtracking의 핵심 개념은 가능성이 없으면 되돌아가는(Pruning) 과정이 포함된다.입력) 자연수 N과 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오.1부터 N까지 자연수 중에서 중복 없이 M개를 고른 수열첫째 줄에 자연수 N과 M이 주어진다. (1 ≤ M ≤ N ≤ 8)https://www.acmicpc.net/problem/15649 출력)한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하..
Spark: DataFrame Partitions and Executors Dataframe IntroductionDo not want to hardcode the data file name and location in my application                                                                          -> 파일 이름은 commandline argument를 통해 전달DataframeReader is your gateway to read the data in Apache Spark.Spark에서 InferSchema option은 DataFrameReader가 파일의 부분을 읽어서 데이터의 스키마를 파악하는 용도임.아래 Spark Document에서 InferSchema에 대한 옵션을 확인할 수 있음. 아..
Spark: Configuring Spark Session Spark Session과 설정(Configuring Spark Session)대부분의 Spark 설정은 기본값을 따르거나 코드 내에서 직접 지정할 수 있다. 하지만, 특정 환경에서는 개발자가 직접 환경 변수를 설정해야 정상적으로 실행될 수도 있다.예를 들어, SPARK_HOME을 설정하지 않으면 Spark 실행 파일을 찾을 수 없고, HADOOP_CONF_DIR 같은 변수가 없으면 Hadoop 연동이 안 될 수도 있다.로컬에서 Spark 실행환경을 세팅하기 위해, 전에 SPARK_HOME, HADOOP_HOME, PYSPARK_PYTHON 환경변수를 전에 설정했었다.Spark-submit은 우리가 command-line options를 이용하여(ex) -- master) 어플리케이션을 configure..
백준 6064: 카잉 달력 📃 문제: 백준 6064_카잉 달력https://www.acmicpc.net/problem/6064  M과 N보다 작거나 같은 두 개의 자연수 x, y를 가지고 각 년도를 와 같은 형식으로 표현한다. 이 세상의 시초에 해당하는 첫 번째 해를 로 표현하고, 두 번째 해를 로 표현한다. 의 다음 해를 표현한 것을 이라고 하자. 만일 x 같은 방식으로 만일 y 은 그들 달력의 마지막 해로 판단한다.예를 들어, M = 10 이고 N = 12라고 하자. 첫 번째 해는 로 표현되고, 11번째 해는 로 표현된다. 은 13번째 해를 나타내고, 는 마지막인 60번째 해를 나타낸다.네 개의 정수 M, N, x와 y가 주어질 때, 이 카잉 달력의 마지막 해라고 하면 는 몇 번째 해를 나타내는지 구하는 프로그램을 작성하라...
Spark: log4j 사용하기, log4j properties 설정 python logging 모듈을 사용하지  않고 log4j를 사용하는 이유?Pyspark는 JVM 기반으로 동작한다. python에서 실행되지만 내부적으로 JVM을 통해 Spark 작업을 수행하기 때문에 python logging 모듈은 JVM 로그를 제어할 수 없다.또한 Spark는 multi-cluster에서 실행되기 때문에 여러 노드에서 로그를 수집해야하는데, Log4J는 이러한 Spark 클러스터의 실행 환경과 잘 맞는다.(=분산 환경에서 효과적인 로깅을 제공.)Log4는 최적화된 비동기 로깅을 지원해 성능이 뛰어나다. → RollingFileAppender를 사용하면 로그파일 관리가 쉽다.Spark 자체가 Log4J를 기본적으로 사용한다. logging 모듈을 사용하게 되면 Spark 로그와 ..
Spark: Installing and Using Apache Spark(Databricks와 Local 설치) Spark Development Environments는 클라우드 플랫폼과 온프레미스 플랫폼에서 실행 가능하다.Cloud Platforms → Notebook, Databricks CloudOn-premise Platforms → Python IDE, Clouderaa PlatformDatabricks에서 실행하는 방법과, 로컬 컴퓨터에 설치해서 실행하는 방법을 살펴보자. Databricks에서 실행하는 법아래 링크에서 계정 생성후 ,https://www.databricks.com/try-databricks#account“Get Started with community edUser > Create >Folder (MyFirstProject로 폴더 생성)Create > Notebook 클릭해서 생성한 폴더..