분류 전체보기
-
[Spark] RDD 로 숫자 처리하기Spark 2023. 1. 19. 06:29
- 목차 소개. 개인적인 스파크 학습을 위하여 RDD 처리에 대한 여러가지 예시를 작성해보려고 합니다. java version 11, spark 3.2 버전을 사용할 예정입니다. build.gradle 에 해당 버전의 spark-core 모듈을 설치합니다. implementation 'org.apache.spark:spark-core_2.12:3.2.0' Number 처리하기. 아래 코드는 Spark 로 숫자를 처리하는 간단한 예시입니다. input 데이터인 1,2,3,4,5 라는 List 를 1씩 증가시키는 예시입니다. package org.example; import org.apache.spark.SparkConf; import org.apache.spark.api.java.JavaRDD; impor..
-
apache spark 란BigData 2023. 1. 12. 07:20
스파크란 아파치 스파크는 대용량의 데이터를 분산처리하는 엔진입니다. 빅데이터의 시대에서 대용량의 데이터를 처리하기 위한 안정적인 분산 시스템과 고속도의 데이터 처리 시간을 보장하기 위하여 스파크는 등장하게 되었습니다. 스파크는 안정 + 고속 + 분산 처리 등의 소목표를 달성해야하는 데이터 처리 부분에 집중하며, 데이터의 저장과 관련된 영역은 다른 스토리지 엔진이난 하둡의 hdfs 같은 영역에서 담당하게 됩니다. Driver Program main 함수를 포함하는 스파크의 실질적인 프로그램입니다. from pyspark.sql import SparkSession # Create SparkSession spark = SparkSession.builder \ .master("local[1]") \ .appNa..
-
hdfs (hadoop) 에 대해서BigData 2023. 1. 11. 21:34
하둡의 간단한 정의는 다음과 같습니다. 분산된 환경에서 데이터를 저장하고 관리하고, 처리할 수 있도록 도와주는 프레임워크입니다. 그래서 하둡은 크게 두가지로 분류됩니다. 1. 데이터를 저장하는 관점에서 hadoop distributed file system 2. 데이터를 처리하는 관점에서 MapReduce 두가지로 나누어 생각할 수 있습니다. 이번 글에서는 하둡의 두가지 측면 중 hdfs 에 대해서 이야기할 예정입니다. Hadoop Distributed File System FAT, ext, union file system 등 운영체제 및 환경에서 사용하던 파일 시스템들과 hdfs 는 하나의 차이가 있습니다. 기존의 파일 시스템은 파일의 관리를 하나의 물리적인 디스크로 한정했던 것과 달리 hdfs 는 분..
-
[Algorithm] Programmers 땅따먹기Algorithm 2023. 1. 7. 11:50
- 목차 소개. "프로그래머스 땅따먹기" 문제의 웹 링크입니다. https://school.programmers.co.kr/learn/courses/30/lessons/12913 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 분석. 처음에는 해당 문제는 DFS 로 완전 탐색으로 해결하려고 시도하였습니다. 하지만 행의 갯수가 100,000 이기 때문에 완전 탐색을 시도하게 되면, 완전 탐색을 수행하게 되면 최악의 케이스로 N*N 의 시간복잡도를 가지게 됩니다. 따라서 해당 문제는 단순한 연산으로 접근해야합니다. impor..
-
Parquet 알아보기BigData/Parquet 2023. 1. 5. 01:34
- 목차 관련된 글 https://westlife0615.tistory.com/333 Avro Serialization 알아보기. - 목차 관련된 글 https://westlife0615.tistory.com/332 Avro File 알아보기 - 목차 소개. Avro 는 두가지 기능을 제공합니다. 첫번째는 직렬화 기능입니다. Avro 는 Serialization Framework 로서 직렬화와 역직렬화를 westlife0615.tistory.com https://westlife0615.tistory.com/445 Parquet Reader 알아보기 - 목차 소개. Parquet Reader 들이 어떠한 방식으로 Parquet 파일을 읽어들이는지 자세히 살펴보려고 합니다. Apache Arrow 기반의 라..
-
[pandas] to_datetime 함수 알아보기Python 2022. 12. 20. 07:34
- 목차 to_datetime.Pandas 의 DataFrame 은 datetime 타입을 지원합니다.하지만 명시적으로 datetime 타입을 지정하지 않으면 DataFrame 또는 Series 내부적으로 object 타입으로 지정하게 됩니다.예를 들어, 아래의 Kaggle 의 날씨 데이터를 read_csv 함수를 통해서 DataFrame 을 생성할 때에 "date" 칼럼은 object 타입으로 지정되죠.import pandas as pdurl = ("https://storage.googleapis.com/kagglesdsdata/datasets/312121/636393/DailyDelhiClimateTest.csv" "?X-Goog-Algorithm=GOOG4-RSA-SHA256" ..
-
(Java) 백준 색종이 만들기 [분할정복, 재귀]Algorithm 2022. 12. 19. 23:02
- 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/164 (Java) 백준 쿼드트리 [분할정복, 재귀] - 목차 함께 보면 좋은 글. https://westlife0615.tistory.com/46 (Java) 백준 색종이 만들기 [분할정복, 재귀] - 목차 소개. 아래 링크는 "백준 색종이 만들기" 문제의 웹링크입니다. https://www.acmicpc.net/problem/263 westlife0615.tistory.com 소개. 아래 링크는 "백준 색종이 만들기" 문제의 웹링크입니다. https://www.acmicpc.net/problem/2630 2630번: 색종이 만들기 첫째 줄에는 전체 종이의 한 변의 길이 N이 주어져 있다. N은 2, 4, 8, 1..
-
TCP Socket 알아보기Network 2022. 12. 19. 22:59
- 목차 소개.TCP 소켓에 대해서 가볍게 알아보는 시간을 가지려고 합니다. 소켓은 TCP 소켓과 같은 네트워크 통신 뿐만 아니라 IPC (Inter Process Communication) 에서도 Socket 방식의 통신 기법이 있는데요. 두 소켓 통신의 차이점은 "네트워크 스택을 사용하는가 사용하지 않는가?" 입니다. TCP 소켓은 IP 와 PORT 정보가 필요한데 반해, IPC Socket 통신은 그렇지 않죠. Socket 통신은 여러 System Call 을 필요로합니다. NIC(Network Interface Card), Operating System 와 소통하고 도움을 받아야하기 때문에 System Call 이 사용됩니다. 사용되는 네트워크 System Call 의 종류로는 - socket -..
-
[Programmers] 상품 별 오프라인 매출 구하기 (SQL)Algorithm 2022. 12. 18. 16:00
- 목차 문제 설명. https://school.programmers.co.kr/learn/courses/30/lessons/131533 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 다음은 어느 의류 쇼핑몰에서 판매중인 상품들의 상품 정보를 담은 PRODUCT 테이블과 오프라인 상품 판매 정보를 담은 OFFLINE_SALE 테이블 입니다. PRODUCT 테이블은 아래와 같은 구조로 PRODUCT_ID, PRODUCT_CODE, PRICE는 각각 상품 ID, 상품코드, 판매가를 나타냅니다. PRODUCT_ID INTEGER FALSE PRODUCT_COD..
-
[Programmers] 피로도 (lv2, Java, 완전정복, DFS)Algorithm 2022. 12. 18. 16:00
- 목차 문제 설명. https://school.programmers.co.kr/learn/courses/30/lessons/87946 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 던전을 탐..