빅데이터 처리 11

Spark SQL - Join 방식

Spark SQL - Join 방식 BroadcastHashJoin / BroadcastNestedJoinjoin을 하는 대상에 전체데이터를 Broadcast해서 사용하는 join 방식`spark.sql.autoBroadcastJoinThreshold` 설정으로 Threshold를 조절할수 있다.Data가 너무 크게 되면 OOM 에러가 발생이 될수가 있다.broadcast를 이용하여 hint를 줄수가 있다.작은 데이터와 큰 데이터를 join을 할때 작은 데이터를 broadcast를 이용하여 성능을 높일수가 있다. (shuffle을 줄이는 효과) SortMergeJoinjoin을 하는 2개의 데이터셋에 대해 먼저 sort를 진행을 한뒤 join을 하는 방식`spark.sql.join.preferSortMe..

Spark 간단하게 하나의 파일로 Write하는 법

Spark 간단하게 하나의 파일로 Write하는 법데이터를 Partition 별로 나눠서 데이터를 처리를 하기 때문에 Write 여러개의 파일이 생긴다.하나의 파일만 생기게 할려면 Partition을 강제로 1개로 설정을 하면 하나의 파일로 Write가 된다.주의하나의 파티션으로 몰리게 때문에 Memory Overflow가 발생이 될수있다.용량이 큰 경우에는 파일을 합치는 task를 생성해서 따로 처리를 한다. Exampledf .repartition(1) .write() .json(.... path)...

Spark AWS S3 접근시 400 에러 처리 방법

Spark AWS S3 접근시 400 에러 처리 방법aws api는 API Signagure 로 인해 버전이 존재한다.hadoop-aws에서의 S3 API를 V2 버전을 사용하는데 Seoul 리전은 V4 버전만 지원하기 때문에 생기는 문제점 설정sc.sparkContext().hadoopConfiguration().set('fs.s3a.impl', 'org.apache.hadoop.fs.s3a.S3AFileSystem')sc.sparkContext().hadoopConfiguration().set('com.amazonaws.services.s3.enableV4', 'true')sc.sparkContext().hadoopConfiguration().set('fs.s3a.access.key', 'YOUR_A..

Spark SQL, DataFrames, Datasets

Spark SQL, DataFrames, DatasetsSpark 모듈중에 하나구조화된 데이터 처리를 위한 모듈 Starting Pointimport org.apache.spark.sql.SparkSession; SparkSession spark = SparkSession .builder() .appName("Java Spark SQL basic example") .config("spark.some.config.option", "some-value") .getOrCreate(); hive 기능도 제공을 한다 (spark 2.0 builtin support) Creating DataFrames(Dataset)RDD에서 DataFrames을 만들수도 있다.Hive TableSpark Data SourcePa..

Hadoop

HadoopHigh-Availability Distributed Object-Oriented Platform대용량 자료를 처리할 수 있는 클러스터에 동작하는 분산 응용 프로그램구굴의 분산 시스템 (GFS)를 바탕으로 만들어진 오픈소스 ModuleHadoop CommonHadoop HDFSHadoop YarnHadoop MapReduce HDFS (Hadoop Distributed File System)분산 확장 파일 시스템여러 기계에 대용량 파일들을 나눠서 저장을 한다.다음과 같은 시스템에서 잘 동작하는 것을 목표하드웨어 오동작스트리밍 자료 접근큰 자료 집합간단한 결합 모델한번 쓰고 여러번 읽는 모델에 적합한 구조자료를 옮기는 것보다 계산 작업을 옮기는 것이 비용이 적게 된다.다른 종류의 하드웨어와 소프..

빅데이터 처리 2018.12.20

Apache Hive

Apache HiveApache Hive란? 하둡에서 작동되는 데이터 웨어하우스, Apache HDFS이나 Apache Hbase의 데이터가 저장 시스템에 저장되어있는 대용량 데이터를 분석한다. - HiveQL이라는 부르는 SQL를 통해 손쉽게 데이터를 분석할수 있다. - HDFS 대신 AWS S3를 저장소를 하여 사용을 할수가 있다.- Metadata를 통해 테이블의 데이터 위치, 데이터 스키마등을 관리한다.- OLTP보다는 OLAP 적합하다. HaddopHDFS - Hadoop DistrubutedFile SystemdMapReduce - Parrell Programming model for processing large amount data Architecture Working Progress- H..

빅데이터 처리 2018.07.15