일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- fastcampus
- 로그인
- Cluster
- 레디스
- hive
- redash
- 예제
- ec2
- 클러스터
- 자바
- 머신러닝
- Zeppelin
- 젠킨스
- SpringBoot
- aws
- Mac
- Kafka
- 자동
- gradle
- Redis
- vue
- java
- spring
- login
- 설정
- EMR
- config
- Jenkins
- Docker
- 간단
- Today
- Total
목록전체 글 (193)
코알못
[오류] 큰 데이터 조회시 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..
이번 시간에는 Docker Compose 를 알아보도록 한다! Docker Compose 를 이용하면 Docker 명령어를 사용할때 보다 여러 컨테이너 관리가 쉬워진다. docker-compose.yml 이라는 파일로 어떻게 빌드할지, 여러 컨테이너들이 어떤 관계가 있는지 문서화를 할 수 있으며 실제 depends_on 을 정의하여 의존 관계를 주어 컨테이너 기동 순서를 정할 수 있다. 그러나 depends_on 의 경우 기동 순서만 정할뿐 앞 순서 컨테이너가 정상적으로 기동 됐는지는 확인하지 않는다. 이때 restart 옵션의 always 값을 지정하여 앞 순서 컨테이너가 정상적으로 기동되지 않아 컨테이너가 죽었을시 다시 기동되게 할 수 있으며 restart 옵션의 unless-stopped 값을 지정..
이미지 경량화를 하게 되면 pull, push, 컨테이너 실행 속도가 빨라지며 당연히 불필요한것을 삭제하여 디스크 공간을 적게 차지하는것이 좋기 때문에 경량화를 진행 하는 방법을 알아본다! 1) '--no-cache' 옵션을 사용하여 필요하지 않은 캐싱은 하지 않는다. RUN ... --no-cache 2) '&&\' 를 뒤에 붙여 관련 있는 명령어는 하나의 레이어로 묶어서 처리 'case 1' 의 경우 레이어가 두개 생성되며, 두번째 레이어에서만 삭제 되며 첫번째 레이어에 영향 주지 않는다. 'case 2' 의 경우 레이어 하나가 생성되므로 파일이 삭제되어 'case 1' 보다 적은 공간을 차지한다. [case 1] RUN wget https://..test.json RUN rm -rf test.jso..
이번 시간에는 이미지 저장 관리를 위한 도커 공식 저장소 [도커 허브]를 통해 이미지 관리를 해보자! 도커 허브에 접속하여 로그인을 한뒤 Account Settings 클릭한다. 아래와 같이 클릭하여 토큰을 생성한다. 적당한 설명을 적고 테스트 이므로 모든 권한을 부여하여 생성한다. 아래와 같이 로그인 방법이 안내 되며 로그인을 위한 토큰이 생성된다. 이제 도커에 로그인 해보자! $ docker login -u [유저명] Password: Login Succeeded 정상적으로 로그인 되었다면 도커 허브에 저장소를 이용해보자! 아래와 같이 Reposiroties를 클릭후 생성 버튼을 클릭한다. 저장소명, 설명을 기입하고 공개하지 않을 예정이므로 Private를 선택한다. 그리고 create 버튼을 눌러 ..
이번 시간에는 도커 이미지 생성 및 불러오는 실습을 진행 해보자! 우선 아래 이미지를 보면서 이미지 구조부터 보자 ㅎ Nginx 버전 v1 의 이미지를 생성한다. 이미지는 레이어 아키텍쳐로 구성 되어 있으며 변경 사항이 있을 경우 Layer로 쌓인다. V1 은 A, B, C 레이어로 구성 되어 있으며 Nginx 버전 v1 에서 몇가지 설정을 변경한 뒤 버전 v2의 이미지를 생성하면 Layer A,B,C 가 그대로 있고 Layer D가 쌓인것을 볼 수 있다. Nginx 버전 v2 로 도커 컨테이너를 생성시 이미지 레이어는 Read Only로 사용하며 컨테이너 레이어는 Read/Write로 사용되는 것을 볼 수 있다. 이를 확인 해보자! 아래와 같이 명령어를 입력하여 이미지 항목을 본다. $ docker i..
hive 에서 json 데이터를 읽어 오는 부분에서 아래 에러 발생 하였다. Caused by: org.apache.hadoop.hive.serde2.SerDeException: Row is not a valid JSON Object - JSONException: Duplicate key "name" 확인 해보니 name 이라는 key 가 중복되는 json 데이터가 있으며 hive에서는 기본적으로 대소문자를 구분하지 않으니 중복 키로 인식하여 오류발생하였다. {"NAME":"corin","name":"corin"...} 이를 해결하기 위해 읽어 들이는테이블의 설정에 대소문자를 구분하도록 추가 하였다. ALTER TABLE tb_test SET TBLPROPERTIES("case.insensitive" =..
순차 탐색 [시간 복잡도 : O(N)] 순차적으로 탐색하는 알고리즘 public static boolean sequentialSearch(List arr, int findData){ for (int a : arr){ if(a == findData){ return true; } } return false; } 이진 탐색 [시간 복잡도 : O(logN)] 정렬된 리스트에서 검색 범위를 줄어가며 탐색하는 알고리즘 public static boolean binarySearch(List arr, int findData){ if(arr.size() == 1){ if(arr.get(0) == findData){ return true; } return false; } int middleData = arr.size()/..