일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- lazy evaluation
- 실행엔진
- Spark 최적화
- Databricks
- 데이터 수집
- 프로그래머스힙
- 지연연산
- kafka 설치
- EMR 구조
- freenom
- 서버간 복사
- 데이터엔지니어링
- 프로그래머스
- 하둡
- AWS Crawler
- 스파크
- 하둡2.0
- 데이터파이프라인
- 하둡에코시스템
- 하둡1.0
- Spark
- 카프카
- 프로그래머스 큰 수 만들기
- 빌드도구
- ORACLE MSSQL차이
- ORACLE문법
- 문맥교환
- 런타임데이터영역
- 데이터베이스복사
- Catalyst Optimizer
- Today
- Total
목록전체 글 (86)
띵유로그
AWS Glue를 통해 메타데이터를 관리할 수 있습니다. 이번 포스팅에서는 Glue에 대해서 알아보겠습니다. Glue는 ETL Work flow를 정의하고 job을 돌릴 수 있습니다. glue 의 기능은 크게 3가지 정도로 볼 수 있습니다. 1. Data Catalog : Meta Data Store 2. Aws Glue Crawler : 저장소에서 자동으로 데이터를 스캔,분류, 스키마정보 추출 할 수 있도록 crawler를 만들 수 있습니다. 3. Aws Glue ETL 연산 : Job, Stream 서비스 분석 가능하고 Trigger 기능을 제공합니다. 각 항목을 좀 더 자세하게 살펴보겠습니다. 1. Data Catalog 보통 서비스 운영시 하나의 DB만을 사용하지 않습니다. RedShift, S3..

1. 데이터베이스를 만들어줍니다. 2. 크롤러 탭에서 크롤러를 추가해줍니다. 3. 상세 설정 일정은 온디맨드로 설정했습니다. 4. 크롤러를 선택하고 실행해줍니다. 5. 이제 왼쪽 테이블 탭에서 생성된 테이블을 확인합니다. 6. 테이블을 직접 클릭해서 상세정보를 확인합니다. 테이블의 값이 변경될 떄마다 오른쪽 상단에 버전으로 관리됩니다. 스키마 편집도 가능합니다. 7. cralwer와는 무관하지만, athena를 통해 쿼리를 실행해보겠습니다. 서버리스이기 때문에 데이터 쿼리 시작 을 눌러 바로 사용할 수 있습니다. 비용도 로드되는 양에 따라 부과됩니다. 쓸데없이 많은 데이터를 읽지 않도록 주의합니다. 참고로 athena 내부엔진은 Presto로 되어있습니다. * 첫 번째 쿼리를 실행하기 전에 Amazon ..

1. aws cli 설치 2. aws configure 명령어를 통해 정보 입력(key) -> IAM 에 사용자 등록 필요 (없다면) 3. 배치파일 작성 4. 윈도우 작업 스케쥴러 등록

이번시간에는 Spark 모니터링 어플리케이션인 ganglia를 확인해보겠습니다. 처음 ganglia 웹서버 주소를 복사해서 접근시도하면 실패메세지가 뜹니다. /etc/httpd/conf.d/ganglia.conf의 Order dendy 로 되어있는 부분을 allow로 바꾸고 웹서버를 재가동해야합니다. 또는 아래 shell파일을 S3에 저장해놓고 EMR 클러스트에 단계를 추가합니다. if [ -f "/etc/httpd/conf.d/ganglia.conf" ]; then echo "Setting up ganglia on master node" sudo sed -i 's/Order deny,allow/#Order deny,allow/g' /etc/httpd/conf.d/ganglia.conf sudo serv..

EMR은 AWS에서 아파치 하둡, 스파크와 같은 빅데이터 프레임워크를 쉽게 실행할 수 있도록 관리해주는 클러스터 플랫폼입니다. 클러스터 플랫폼이다보니 scale- in/out이 쉽습니다. 아래 그림처럼 Master Node와 core node, task node로 구성되어있습니다. 1. Master Node Master Node는 이름에서 유추할 수 있듯이 클러스터를 관리합니다. 노드들 사이에 작업을 분배하고 정상종료되었는지 모니터링합니다. 2. Core Node와 TaskNode Core Node와 Task Node는 Master의 Worker노드입니다. 둘 다 하는 일은 비슷하지만, Core Node는 HDFS(디스크)를 가지고 있지만 Task Node는 HDFS가 없이 컴퓨팅만을 담당합니다. 따라서..
여러개의 프로세스가 존재할때, CPU는 제어권을 서로 넘겨가며 일을 처리합니다. CPU 제어건을 바꾸는과정을 문맥교환이라고 합니다. 문맥교환은 언제 일어날까? 문맥교환이 일어나는 때는 타이머 인터럽트나 I/O 가 발생했을 때 입니다. 시스템콜이나 인터럽트로 OS에게 CPU제어권이 넘어오고 이때 문맥 일부를 PCB에 저장하지만, 이 경우는 문맥교환이 아님을 기억해야합니다. 단지, 프로세스가 사용자모드에서 커널모드로 바뀔 뿐입니다. 문맥교환은 어떻게 수행할까? 1) 직전까지 수행하던 프로세스(A)의 문맥을 프로세스 A의 PCB(Process Control Block) 에 저장합니다. 2) 새로운 프로세스 B는 예전에 저장해둔 자신의 문맥을 PCB에서 가져와 HW에 올리고 실행합니다. * 자세한 절차 : 문맥..
xp_cmdshell을 통해 BCP 명령어를 실행해서 대량의 데이터를 가져올 일이 있었습니다만 여러 오류를 만났습니다. 오류 해결 과정을 기록해둡니다. 1. xp_cmdshell 이 activate 되어있는지 확인합니다. EXEC sp_configure 'show advanced options', 1 go RECONFIGURE go EXEC sp_configure 'xp_cmdshell', 1 go RECONFIGURE go 2. SQL Server 구성관리자에서 TCP/IP를 사용중인지 확인합니다. => SQL Server 네트워크 구성 -> MSSQLSERVER에 대한 프로토콜 -> TCP/IP 사용으로 변경 3. . 을 찍기.... 소유한 데이터베이스 앞에 .를 찍습니다. xp_cmdshell는 시..
주로 사용하는 서버의 성능이 딸려서 필요한 데이터만 연결된 서버로 보내고 작업을 할 일이 있었습니다. 연결된 서버에서 select 문을 날린적은 많았는데 INSERT/DELETE 문은 이번에 처음 사용해서 기억하기 위해 남겨둡니다. INSERT openquery([연결된서버], 'select * from [연결된서버의 DB].[소유자].[연결된서버의 Table]') SELECT * FROM 복사할 테이블 #연결된 서버의 Table은 미리 만들어둬야합니다. DELETE FROM OPENQUERY(연결된서버, 'SELECT NO FROM [연결된서버의 DB].[소유자].[연결된서버의 Table] WHERE NO = 1'); 연결된 서버에 쿼리를 실행시키는 또다른 방법도 남겨둡니다. EXECUTE('DROP ..