본문 바로가기

전체 글

(30)
코딩테스트 합격자 되기 (CHAPTER 5 배열) CHAPTER 5 배열배열의 개념에 대해 이해하고 활용하는 방법을 알 수 있습니다. 코딩 테스트 난이도별로 배열 관련 문제를 풀며 여러 함정을 확인하고 이를 해결하는 방법에 익숙해집니다. 5-1 배열 개념배열은 인덱스와 값을 일대일 대응해 관리하는 자료구조입니다. 데이터를 저장할 수 있는 모든 공간은 인덱스와 일대일 대응하므로 어떤 위체이 있는 데이터든 한 번에 접근할 수 있습니다. 배열 선언배열을 선언하는 방법은 다음과 같습니다. 이름이 arr이고 길이가 6인 정수형 배열을 선언하는 방법을 알아보겠습니다.일반적인 방법int[] arr = {0, 0, 0, 0, 0, 0}; 1️⃣int[] arr = new int[6]; 2️⃣이렇게 선언한 배열은 컴퓨터에 이런 모습으로 저장됩니다. 배열은 인덱스가 0부..
LLM 과 RAG LLM RAG (검색 증강 생성 Retrieval-Augmented Generation)LLM의 단점을 보안하기 위한 기술일단 LLM을 알아야 하는데 Large Languge Model의 약자로, 자연어 처리(NLP)에서 사용되는 인공지능 기술의 한 종류이다. 이 모델들은 대규모의 텍스트 데이터를 학습하여 언어의 구조와 의미를 이해하고, 그 학습을 바탕으로 텍스트 생성, 번역, 요약, 질문에 대한 답변 등 다양한 언어 관련 작업을 수행한다. LLM의 특징방대한 지식 보유 문맥 이해 능력자연어 생성 능력전이 학습 능력확장성LLM의 단점편향성 문제 학습 데이터에 내재된 편향성을 그대로 반영할 수 있다. 성별, 인종, 종교 등에 대한 고정관념이나 차별적 표현을 생성할 위험 존재사실관계 오류 가능성 방대한 데이..
스파크 완벽 가이드 8 ~ 9 CHAPTER 8조인스파크 애플리케이션에서는 다양한 데이터셋을 함께 결합해 사용하는 경우가 더 많다. 따라서 조인은 거의 모든 스파크 작업에 필수적으로 사용된다.스파크가 지원하는 조인 타입과 사용법 그리고 스파크가 클러스터에서 어떻게 조인을 실행하는지 내부 동작 방식을 알아보자. 8.1 조인 표현식스파크는 왼쪽과 오른쪽데이터셋에 있는 하나 이상의 키값을 비교하고 결합 여부를 결정하는 조인 표현식의 평과 결과에 따라 두 개의 데이터셋을 조인한다. 가장 많이 사용하는 조인 표현식은 동등 조인(equi-join)이다. 8.2 조인 타입8.3 내부 조인내부 조인은 DataFrame이나 테이블에 존재하는 키를 평가한다. 내부 조인은 기존 조인 방식 이므로 JOIN 표현식에 지정하기만 하면 된다. person.jo..
스파크 완벽 가이드 CHAPTER 6~7 CHAPTER 6다양한 데이터 타입 다루기이 장에서는 스파크의 구조적 연산에서 가장 중요한 내용인 표현식을 만드는 방법을 알아보자.그리고 다음와 같은 다양한데이터 타입을 다루는 방법도 함께 알아보자. - 불리언 타입 - 수치 타입 - date와 timestamp 타입 - 문자열 타입 - null 값 다루기 - 복합 데이터 타입 - 사용자 정의 함수 6.1 API는 어디서 찾을까스파크는 현재 활발하게 성장학 있는 프로젝트다. 이 책을 포함한 모든 스파크 관련 서적의 내용은 언젠가 버전의 내용이 될 것이다. 그러므로 데이터 변환용 함수를 어떻게 찾는지 알아야 한다.-DataFrame(Dataset)메서드DataFrame은 Row 타입을 가진 Dataset이므로 ..
스파크 완벽 가이드 CHAPTER 4~5 CHAPTER 4구조적 API 개요2부에서는 스파크의 구조적 API를 자세히 살펴본다. 구조적 API는 비정형 로그 파일부터 반정형 CSV 파일, 매우 정형적인 Parquet파일까지 다양한 유형의 데이터를 처리할 수 있다. 구조적 API에는 다음과 같은 세 가지 분산 컬렉션 API가 있다.DatasetDataFrameSQL 테이블과 뷰배치(batch) 와 스트리밍 (Streaming) 처리에서 구조적 API를 사용할 수 있다. 구조적 API를 활용하면 배치 적업을 스트리밍 작업으로 손쉽게 변환할 수 있다.구조적 API는 데이터 흐름을 정의하는 기본 추상화 개념이다. 지금까지는 스파크의 여러 기능을 튜토리얼 기반으로 가볍게 알아보았다. 이장에서는 세 가지 기본 개념을 설명한다.타입형(typed)/비타입형(..
스파크 완벽 가이드 CHAPTER 2 CHAPTER 2스파크 간단히 살펴보기DataFrame explain 메서드로 단계를 확인해볼수 있다.from pyspark.sql.funcion import descflightData2015 \ .groupBy("DEST_COUNTRY_NAME") \ .sum("count") \ .withColumnRenamed("sum(count)", "destination_total") \ .sort(desc("destnation_total")) \ .limit(5) \ .show()Data를 읽는다. (DataFrame 은 Action 이 호출되기 전까지 데이터를 읽지 않는다.)Data를 그룹화 한다. (groupBy 메서드가 호출되면 최종 그룹화된 DataFrame을 지창하는 R..
스파크 완벽 가이드 CHAPTER 15~17 CHAPTER 15클러스터에서 스파크 실행하기이장에서 알아볼 주제스파크 애플리케이션의 아키텍처와 컴포넌트스파크 내/외부에서 실행되는 스파크 애플리케이션의 생애주기파이프라이닝과 같은 중요한 저수준 실행 속성스파크 애플리케이션을 실행하는 데 필요한 사항15.1 스파크 애플리케이션의 아키텍처스파크 드라이버스파크드라이버는 스파크 애플리케이션의 운전자 역할 을 하는 프로세서이다.스파크 드라이버는 Apache Spark 애플리케이션의 핵심적인 컨트롤러로서, 클러스터 매니저와 통신하여 작업을 분배하고 관리.이 드라이버는 사용자 프로그램과 상호 작용하여 사용자 코드를 실행하고 결과를 반환.클러스터 내에서 중앙 집중식으로 동작하여 스파크 애플리케이션의 실행 흐름을 제어하고 관리.스파크 익스..
Spark Streaming dstream dstream의 input으로는 파일스트림, 소켓 연결, 카프카로의 입력이 기본적으로 제공된다. custom receiver를 구현할 수도 있는데 scala나 java를 사용해 구현해야 한다. from pyspark import SparkContext from pyspark.streaming import StreamingContext # Create a local StreamingContext with two working thread and batch interval of 1 second sc = SparkContext("local[2]", "NetworkWordCount") ssc = StreamingContext(sc, 1) # Create a DStream that will conn..