일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 클러스터
- Docker
- Cluster
- 머신러닝
- login
- Zeppelin
- 자동
- Jenkins
- spring
- vue
- 로그인
- fastcampus
- ec2
- redash
- 간단
- Redis
- EMR
- 예제
- aws
- 젠킨스
- 설정
- 자바
- java
- Mac
- gradle
- hive
- SpringBoot
- 레디스
- Kafka
- config
- Today
- Total
목록BIG DATA (56)
코알못
메타 스토어 직접 접속해서 테이블 정보 조회 하는 방법 SELECT d.NAME as DB_NAME,TBL_NAME AS TABLE_NAME,COLUMN_NAME, TYPE_NAME AS COLUMN_TYPE FROM TBLS t JOIN DBS d ON t.DB_ID = d.DB_ID JOIN SDS s ON t.SD_ID = s.SD_ID JOIN COLUMNS_V2 c ON s.CD_ID = c.CD_ID WHERE d.NAME='{database name}' AND TBL_NAME='{table name}' AND COLUMN_NAME='{column name}' ORDER by INTEGER_IDX; 칼럼 타입 수정 UPDATE COLUMNS_V2 SET TYPE_NAME="string" WHE..
hive 사용자 정의 함수 생성 방법에는 두가지 방법이 있다. UDF(org.apache.hadoop.hive.ql.exec.UDF) 상속 evaluate() 함수 구현 GenericUDF(org.apache.hadoop.hive.ql.udf.generic.GenericUDF) 상속 initialize(), evaluate(), getDisplayString() 함수를 구현 간단한 방법은 UDF이나 현재 deprecated 되어 GenericUDF로 구현하도록 한다! 우선 위에 필수로 구현해야하는 함수를 설명하면 initialize 함수는 입력 매개변수에 대한 값 체크하는 로직 작성하는 함수이며 조건에 맞지 않을시 Exception을 발생시키면 쿼리 오류 발생하며 정의한 메세지를 노출 시킨다. @Over..
아래와 같이 Lambda를 통해 EMR 을 기동하고 있으며 datadog agent가 설치된 이미지에 EMR을 기동하고 있다. import json import boto3 client=boto3.client('emr') s3=boto3.resource('s3') emr_config_json='' def lambda_handler(event, context): emr_create() return { 'statusCode': 200, 'body': 'emr create success!!!' } def emr_create(): get_emr_config() response = client.run_job_flow( Name= "DEV-EMR", LogUri= "s3://test-bucket/logs/", Rel..
SparkSql 실행중 해당 이슈 발생 하였으며 ExecutorLostFailure는 디스크 부족 이슈이며 메모리 부족시에는 RuntimeException 발생한다고 한다. 디스크 이슈는 Core노드쪽 확인하며 메모리 이슈의 경우 Core, Task 노드 모두 확인한다. 저자의 경우 메모리 사용량이 서버별로 30% 밖에 사용하지 않아 메모리 사용 설정을 변경 하였으며 3가지 방안이 있다. 1. Job 레벨에서 Spark 드라이버 메모리 조정 [1][2] [1] https://docs.cloudera.com/HDPDocuments/HDP3/HDP-3.1.4/using-zeppelin/content/zeppelin_customize_interpreter_settings.html [2] https://zepp..
EMR config Json 설정에 아래 설정을 추가한다. [ { "Classification": "spark-env", "Configurations": [ { "Classification": "export", "Properties": { "PYSPARK_PYTHON": "/usr/bin/python3" } } ] } ] 만약 EMR 사용 유저가 아니라면 spark 설정 파일 경로에 가서 spark-env.sh 파일에 아래 설정을 변경하면 된다. export PYSPARK_PYTHON=/usr/bin/python3 위와 같이 변경하면 zeppelin 에서 python 버전이 변경 된것을 확인 할 수 있다. 저자는 python 3.6 으로 변경 하였으며 정상적으로 나온다. 끝!
이번 시간에는 구글 쿠버네티스 클러스터 구성하도록 한다! 아래와 같이 google cloud 에 접속한뒤 콘솔에서 클러스터 만들기를 선택한다. 자동 관리가 아닌 사용자가 직접 관리 하도록 할 예정이며 아래 화면과 같이 클릭한다. 원하는 클러스터명을 기재한다. 노드의 경우 3개로 구성 하도록 한다. 10분 정도 기다리면 클러스터가 생성 되며 초기 셋팅을 위해 연결을 클릭한다. gcloud 라는 google CLI 를 이용하여 클라우드 구성 가능하며 화면에 나오는 명령어를 복사한다. 만약 shell이 로컬에 설치되어 있지 않다면 구글에서 브라우저 shell 인 cloud shell 제공 하고 있어 제공하는 쉘을 이용해도 된다. cloud shell 을 이용하면 해당 쉘에 gcloud, kubectl 이 설치..
[오류] 큰 데이터 조회시 YarnException: Download and unpack failed 오류 발생 [원인] 코어 노드 디스크 부족 이슈 [해결] 코어 노드 수 증가, 디스크 용량 증가 하여 해결
[오류] 테이블 데이터 위치 지정후 데이터 조회시 Cannot recover from this error:java.lang.RuntimeException: java.lang.NoSuchMethodError: org.apache.hadoop.hive.serde2.objectinspector.primitive.TimestampObjectInspector.getPrimitiveJavaObject(Ljava/lang/Object;)Ljava/sql/Timestamp; 오류 발생 [원인] - 테이블 생성시 파일 읽을때 사용할 방법을 지정하는데 'org.openx.data.jsonserde.JsonSerDe' 일시 timestamp 타입 지원 안함 CREATE EXTERNAL TABLE `genie_svc.tb_a..