분류 전체보기
-
RocksDB 알아보기BigData 2021. 12. 15. 12:24
- 목차 소개. RocksDB 에 대해서 알아보려고 합니다. RocksDB 는 대표적인 Key-Value Storage 이자 Embedded Storage 입니다. 빅데이터를 처리하는 여러 어플리케이션에서 주로 사용하는 내부 스토리지인데요. 대표적으로 Apache Flink 가 있습니다. RocksDB 는 File 기반으로 데이터를 저장하고 조회하지만, 특유의 특성으로 인해 빠른 속도의 IO 가 가능합니다. MemTable 의 Write Buffer 와 SSTable 의 빠른 조회를 기반으로 RocksDB는 높은 퍼포먼스를 보입니다. 이어지는 내용에서 자세히 알아보겠습니다. RocksDB Structure. MemTable. MemTable 은 Memory Table 의 약자로, Rocksdb 의 In-..
-
[Python] Programmers 짝지어 제거하기 (Stack)Algorithm 2021. 12. 15. 12:21
- 목차 문제 소개.https://school.programmers.co.kr/learn/courses/30/lessons/12973# 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 문제 설명.짝지어 제거하기는, 알파벳 소문자로 이루어진 문자열을 가지고 시작합니다. 먼저 문자열에서 같은 알파벳이 2개 붙어 있는 짝을 찾습니다. 그다음, 그 둘을 제거한 뒤, 앞뒤로 문자열을 이어 붙입니다. 이 과정을 반복해서 문자열을 모두 제거한다면 짝지어 제거하기가 종료됩니다. 문자열 S가 주어졌을 때, 짝지어 제거하기를 성공적으로 수행할 수 있는지 반환하는 함수를 완성해 ..
-
[Hadoop] Docker 로 Hadoop Cluster 실행하기 ( docker-compose )Hadoop 2021. 12. 15. 10:27
- 목차 소개. 하둡을 이해하기 위해서 실습을 하고자하였습니다. 하지만 리눅스 또는 AWS 에서의 실행은 VM 을 사용하거나 비용이 청구되는 수고로움이 있었습니다. 그래서 도커로 실행하는 방법에 대해서 작성해보고자 합니다. Single NameNode & DataNode. 아래 명령어는 1개의 NameNode 와 DataNode 를 실행하는 docker-compose.yaml 파일과 관련된 명령어들입니다. cat cat docker-compose -f /tmp/hadoop-docker-compose.yaml --project-name=hadoop up -d Docker 실행. 1. hadoop config 파일을 생성합니다. 하둡은 core-site.xml, hd..
-
[Programmers] 연속된 부분 수열의 합 ( Two Pointers, 투포인터 )Algorithm 2021. 12. 11. 10:19
- 목차 문제 설명. 비내림차순으로 정렬된 수열이 주어질 때, 다음 조건을 만족하는 부분 수열을 찾으려고 합니다. 기존 수열에서 임의의 두 인덱스의 원소와 그 사이의 원소를 모두 포함하는 부분 수열이어야 합니다. 부분 수열의 합은 k입니다. 합이 k인 부분 수열이 여러 개인 경우 길이가 짧은 수열을 찾습니다. 길이가 짧은 수열이 여러 개인 경우 앞쪽(시작 인덱스가 작은)에 나오는 수열을 찾습니다. 수열을 나타내는 정수 배열 sequence와 부분 수열의 합을 나타내는 정수 k가 매개변수로 주어질 때, 위 조건을 만족하는 부분 수열의 시작 인덱스와 마지막 인덱스를 배열에 담아 return 하는 solution 함수를 완성해주세요. 이때 수열의 인덱스는 0부터 시작합니다. 제한사항 5 ≤ sequence의 ..
-
[SparkML] Linear Regression 구현하기 ( Kaggle )Spark/SparkML 2021. 12. 5. 21:43
- 목차 소개. 아래 링크는 kaggle 의 Conf. Interval for Inferences 의 Linear Regression 관련 문제입니다. https://www.kaggle.com/code/abdulazizdusbabaev/conf-interval-for-inferences/notebook Conf. Interval for Inferences Explore and run machine learning code with Kaggle Notebooks | Using data from Linear Regression www.kaggle.com SparkML 을 기반으로 Linear Regression 을 구현한 예시코드입니다. import os from pyspark.ml.feature impor..
-
(Java) Programmers 괄호 회전하기 [Stack, Queue]Algorithm 2021. 12. 4. 17:23
- 목차 문제 설명. 다음 규칙을 지키는 문자열을 올바른 괄호 문자열이라고 정의합니다. (), [], {} 는 모두 올바른 괄호 문자열입니다. 만약 A가 올바른 괄호 문자열이라면, (A), [A], {A} 도 올바른 괄호 문자열입니다. 예를 들어, [] 가 올바른 괄호 문자열이므로, ([]) 도 올바른 괄호 문자열입니다. 만약 A, B가 올바른 괄호 문자열이라면, AB 도 올바른 괄호 문자열입니다. 예를 들어, {} 와 ([]) 가 올바른 괄호 문자열이므로, {}([]) 도 올바른 괄호 문자열입니다. 대괄호, 중괄호, 그리고 소괄호로 이루어진 문자열 s가 매개변수로 주어집니다. 이 s를 왼쪽으로 x (0 ≤ x < (s의 길이)) 칸만큼 회전시켰을 때 s가 올바른 괄호 문자열이 되게 하는 x의 개수를 r..
-
[SparkML] VectorAssembler 알아보기Spark/SparkML 2021. 12. 4. 16:57
- 목차 소개. SparkML 에서 VectorAssembler 는 feature 들을 하나의 Vector 로 만들어주는 모듈입니다. Vector 와 Assemble 은 이름 그대로 feature 들을 모아 하나의 Vector 를 만듭니다. Assemble 이 "모으다", "집합시키다", "조합하다" 뜻을 가지듯 말이죠. VectorAssembler 를 통해서 DataFrame 의 Column 들은 하나의 Vector 됩니다. 아래 예시는 Boolean, Integer, Double 타입의 칼럼 3개를 하나의 Vector 로 만드는 예시입니다. from pyspark.ml.feature import VectorAssembler from pyspark.sql import SparkSession from p..
-
[Programmers] 최솟값 만들기 (lv2, Java)Algorithm 2021. 12. 4. 16:51
- 목차 문제 설명. https://school.programmers.co.kr/learn/courses/30/lessons/12941# 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 길이가 같은 배열 A, B 두개가 있습니다. 각 배열은 자연수로 이루어져 있습니다. 배열 A, B에서 각각 한 개의 숫자를 뽑아 두 수를 곱합니다. 이러한 과정을 배열의 길이만큼 반복하며, 두 수를 곱한 값을 누적하여 더합니다. 이때 최종적으로 누적된 값이 최소가 되도록 만드는 것이 목표입니다. (단, 각 배열에서 k번째 숫자를 뽑았다면 다음에 k번째 숫자는 다시 뽑을 수 ..
-
[Sarama] Sarama 로 Kafka Producer 만들어보기 ( Golang )Golang 2021. 12. 4. 16:25
- 목차 들어가며. 이번 글에서는 Golang 의 Kafka Clients 라이브러리인 Sarama 에 대해서 알아보려고 합니다. 무엇보다도 구체적인 예시와 시각적인 자료가 이해하는데에 있어서 큰 도움이 된다고 생각해서 Sarama 를 활용한 Kafka Producer 를 만들어보겠습니다. 현 시점의 가장 최신 버전인 Golang 1.19 와 Sarama 1.43.0 버전을 사용하도록 하겠습니다. Sarama 와 Golang 의 버전 호환성은 아래와 링크를 통해서 확인하실 수 있습니다. https://github.com/IBM/sarama/releases Releases · IBM/sarama Sarama is a Go library for Apache Kafka. Contribute to IBM/sar..
-
Linux awk 알아보기Linux & Shell 2021. 12. 4. 16:25
- 목차 소개. awk 는 텍스트를 분석 및 처리하는 유닉스/리눅스의 실행파일입니다. Aho, Weinberger, Kernighan 세 사람에 의해서 개발되어 AWK 라고 이름붙여졌구요. awk 를 통해서 간단한 텍스트 또는 문서를 프로세싱할 수 있습니다. 이번 글에서는 awk 실행파일을 사용하는 문법과 여러 케이스들에 대해서 알아보려고 합니다. awk 란 ? awk 는 텍스트를 처리하는 명령어입니다. Unix, Linux, MacOS 등에서 사용할 수 있는 실행파일로써 built-in binary file 로써 제공됩니다. 텍스트파일을 행 기반으로 처리하는 대표적인 유닉스 도구이구요. 텍스트 파일의 행은 한 줄의 Line 을 의미합니다. 텍스트의 문자를 추출할 수 있습니다. "Andy Bob Chri..