GCP
Java로 ETL 수행 (Sample Code)
Java로 ETL 수행 (Sample Code)
2021.11.15Dataflow for Java Dataflow는 Serverless 로 제공되며 통합 스트리밍 및 일괄 데이터 처리를 지원하고 있습니다. Apache-Beam 모델을 활용해 코드 레벨에서 데이터 처리를 수행할 수 있습니다. 해당 세미나에서는 Dataflow를 Java로 코드 구성하고 실행해보는 과정을 살펴보겠습니다. Prerequisites JDK Apache Maven IntelliJ IDEA Community Edition Spring Initializer Local Machine Step1 아래 명령어를 통해 java, mvn 버전 확인을 진행합니다. $ java --version $ mvn --version java version 확인 시 mvn version 확인 시 Model Apache B..
AWS redshift 와 GCP bigQuery 차이
AWS redshift 와 GCP bigQuery 차이
2021.05.27시작 클라우드에서 데이터 처리 및 분석하는데 가장 핵심적인 부분은 Data Warehouse 입니다. 각 벤더사에서 AWS, GCP에서 제공하는 Data Warehouse는 redshift 와 bigQuery 가 있습니다. 이 포스팅에서는 두 DW의 차이에 대해 알아보겠습니다. 다른 포스팅에 비해 부족한 내용이겠지만 각각의 서비스에 대한 설명과 가격, 보안, 사용, 성능, 가용성 분류로 차이에 대해 나열해 보겠습니다. redshift AWS에서 제공하는 데이터웨어하우스의 역할로 수백 기가 바이트부터 페타바이트 이상까지 데이터를 확장해서 저장할 수 있습니다. 데이터 전송시 최대 100Gbps 대역을 가질 수 있습니다. redshift을 동작하기 전에 cluster를 구성해야 하는데 프로비저닝 작업을 수행해..
oracleDB에서 embulk를 활용해 bigQuery로 이관하는 작업 - Oracle
oracleDB에서 embulk를 활용해 bigQuery로 이관하는 작업 - Oracle
2021.02.271)개요 이 전편에 이어서 Windows Server에 Oracle DB를 설치하고 Ubuntu에 Oracle Instant Client를 설치해서 서로 연결해보도록 하겠습니다. (쿼리 조회로 확인해 보겠습니다.) 2)Windows Oracle Server www.oracle.com/database/technologies/oracle-database-software-downloads.html에 접속해서 설치를 진행합니다. 진행이 잘 안되면 goddaehee.tistory.com/191를 참고하면 됩니다. 설치가 완료되면 Command Shell에 sqlplus를 써서 사용하면 됩니다. 여기서 user-name을 정해주지 않았다면 sys as sysdba 를 쓰고 비밀번호는 Oracle DB설치시에 작성하..
oracleDB에서 embulk를 활용해 bigQuery로 이관하는 작업 - VM구성
oracleDB에서 embulk를 활용해 bigQuery로 이관하는 작업 - VM구성
2021.02.251) 개요 Windows Server에 Oracle DB를 설치하고 Linux Server에 Instant Oracle Client 를 사용해 서로 연결해 둔 다음 embulk를 활용해 Windows Server의 Oracle DB의 데이터를 bigQuery로 이관하는 작업입니다. 이 포스팅에서는 VM 구성을 어떻게 할지 알아보겠습니다. 잘 안되는게 있으면 댓글로 알려주세요. 바로바로 답변 드리겠습니다. (부족한 점도,,) 2)VM구성 WIndows Server 와 Ubuntu 두개를 구성합니다. GCP의 VM으로 이동합니다. 설정파일을 적절하게 선택합니다. Machine type을 사용 목적에 맞도록 설정합니다. (N1 시리즈에 2vCPU, 7.5 GB memory로 설정해두었습니다.) 그리고, Boo..
GCP35 :: AI, ML
GCP35 :: AI, ML
2020.09.23ㅡ. 백그라운드 새 x (문제 질의) 파란색 선을 찾아갑니다. 수학적 모델을 이용해서 y값을 추정할 수 있습니다. 선형 그래프를 그릴 때 H(x) = Wx+b 로 표현할 수 있습니다. 여기서 b는 y축을 지나는 y절편이 됩니다. 또 x값은 독립변수고 y값을 종속변수 입니다. x값에 따라서 y의 값이 달라지게 됩니다. 선형회귀는 직선을 정확하게 그려내는 과정입니다. 따라서, 최적의 W와 b의 값을 찾아내는 과정입니다. 이 w와 b를 찾아내기 위한 방법으로 경사하강법이 존재합니다. ㅡ. 경사하강법 경사하강법은 머신러닝 및 딥러닝 알고리즘 훈련할 때 사용합니다. 여기서 MES라는 것을 사용하게 되는데 MES의 식에서 평균제곱 오차를 비용함수라고 합니다. 비용함수 이차식으로 되어있어서 위와같이 볼록한 형태의 구..
GCP34 :: 쿠버네티스 정리
GCP34 :: 쿠버네티스 정리
2020.09.19✓. 쿠버네티스 ⇢ 컨테이너 기반의 환경은 배포에 강점이 있습니다. 또, 마이크로 서비스 아키텍쳐 구조에 잘 맞습니다. 컨테이너 운영환경입니다. ⇢ 클러스터 이해를 선행해야 합니다. 컨트롤러로써 마스터가 존재하고 컨테이너가 배포되는 머신(가상머신 이나 물리적인 서버머신) 노드가 존재된다. ✓. Pod ⇢ 쿠버네티스에서 가장 기본적인 배포 단위, 컨테이너를 포함하는 단위이다. ⇢ 컨테이너를 개별적으로 하나씩 배포하지 않고 Pod 라는 단위로 배포(Pod, 하나 이상의 컨테이너 포함) ⇢ 컨테이너는 IP와 Port를 공유합니다. ✓. Vargant ⇢ 설정 스크립트 기반으로 특정 환경의 가상 머신을 만들어서 신속하게 개발 환경 구축 ✓. 마이크로 서비스 아키텍처 ⇢ 1~2코어로도 운영할 수 있기 때문에 작은..
GCP32 :: VM 인스턴스에 대한 액세스 관리
GCP32 :: VM 인스턴스에 대한 액세스 관리
2020.09.03ㅡ. 시작 Linux VM 인스턴스 실행중인 상태에서 인스턴스에 대해서 사용자 혹은 앱 엑세스 공유 또는 제한할 수 있습니다. ㅡ. OS 로그인 Compute Engine에서 IAM 역할을 사용할 수 있고 Linux 인스턴스에 대한 SSH 액세스를 관리할 수 있습니다. I. 개요 게스트 환경을 설치 업데이트 > 프로젝트 or 개별 인스턴스에 OS로그인 기능 사용 설정 > 자신, 프로젝트 구성원 또는 조직 구성원에게 필요한 IAM역할 부여 > 자신, 프로젝트 구성원 사용자 계정에 커스텀 SSH키 추가 > 인스턴스 연결 II. 제한사항 OS로그인은 구글 쿠버네티스 엔진에서 지원되지 않습니다. 또한, Fedora CoreOS이미지는 OS로그인을 지원하지 않습니다. III. Step 1단계. 인스턴스에 최신버전..
GCP31 :: Gsuit 정리 - 디지털 컨퍼런스를 들으면서...
GCP31 :: Gsuit 정리 - 디지털 컨퍼런스를 들으면서...
2020.09.01ㅡ. Pre-show Gsuit - 협업 업무 솔루션입니다. 20% 시간을 검색, 문서 찾는 할애 - 적합한 문서를 찾지 못하고 만든다고 합니다. 생산성을 굉장히 떨어뜨립니다. ㅡ. G Suite 을 통한 기업 업무 환경의 트랜스포메이션 주 52시간제 도입, 코비드 19 상황 기업의 비즈니스 성장에 주목하고 있다면 우리가 가장 접하고 있는 생산성 도구에 주목해야 합니다. Gsuit이 업무 생산성 향상에 많은 도움을 줄것입니다. 구글 클라우드 기반 협업 도구 = Gsuit, 협업에 필요한 모든 것(하나의 패키지입니다.) 소통 : Gmail, Calendar, 채팅, Meet 등 협업 : Docs, Sheets, Forms 등 보안과 관리 : Drive 등 어떻게? 변화를 혁신하는지? 1. 속도 향상, 구글..
GCP30 :: CloudSQL 데이터베이스에서 select 조회하는 Application 배포는Cloud RUN
GCP30 :: CloudSQL 데이터베이스에서 select 조회하는 Application 배포는Cloud RUN
2020.09.01ㅡ. 개요 CloudSQL에 데이터를 node.js서버에서 간단하게 불러오는 rest api application을 만들고 이를 Cloud Run을 이용해 배포하는 과정 ㅡ. 시작 프로젝트를 생성합니다. ㅡ. Cloud SQL 생성 cloud SQL 생성시 공개 IP 주소로 접근하였습니다. Terminal 환경에서 접속으로 Local에서 CloudSQL이 접근가능한지 확인하였습니다. ㅡ. Mysql Workbench 실행 워크벤치에서 Connection을 생성하고 데이터베이스, 테이블 생성 후 데이터를 insert 하였습니다. ㅡ. node.js 와 mysql 연동 2020/08/25 - [Node.js] - node.js restful api 서버 만들기 (with bigQuery) node.js re..
IT08 :: 프로젝트 마감
IT08 :: 프로젝트 마감
2020.08.26남은 2틀동안 프로젝트를 마감하는 과정을 포스팅 (크로스 체크.. 는 덤) 데이터 정제 처리가 완벽하게 안되서 수정해야 했다. ㅡ. Category_feature(카테고리별 특징들을 보여줍니다.) - Not Yet ㅡ. bigQuery(category_feature) ㅡ. apache-beam(category_feature) #apache_beam from apache_beam.options.pipeline_options import PipelineOptions import apache_beam as beam pipeline_options = PipelineOptions( project='fluid-crane-284202', runner='dataflow', temp_location='gs://dataf..
GCP26 :: DNS 등록하기, Google Cloud Platform
GCP26 :: DNS 등록하기, Google Cloud Platform
2020.08.24개요 해당 포스팅에서는 AWS 에서 구매한 도메인을 서버와 연결하여 도메인으로 애플리케이션에 접속하는 과정을 보여 줍니다. 서버는 Google Cloud Platform의 VM 인스턴스에 Web Application을 배포한 상태입니다. 보통의 경우 http://외부IP:Port 로 접근할 수 있지만, 이 경우 보안에 취약할 수 있기 때문에 DNS를 등록하여 사용하도록 하겠습니다. AWS 사전에 미리 구입해둔 도메인에 정보를 확인합니다. https://cloud.google.com/dns/docs/quickstart?hl=ko 확인하고시작했습니다. Google DNS Google Cloud Platform에서 DNS 영역을 생성할 수 있습니다. 구입한 도메인을 사전에 배포한 Web Application으..
ISSUE13 :: Load Balancer 에러 처리하기
ISSUE13 :: Load Balancer 에러 처리하기
2020.08.24netstat -tnlp #현재 열려있는 포트를 모두 확인할 수 있습니다. 외부로 통하는 80포트가 열려있지 않았습니다. 그래서 sudo iptables -I INPUT 1 -p tcp --dport 80 -j ACCEPT 위 명령어를 실행해줘도, 80번 포트를 열리지 않았습니다. apache --version 실행보니까 No command 'apache' found, did you mean: 또, apache2 --version The program 'apache2' is currently not installed. 여서 sudo apt-get install apache2 여서 우선 apache2를 설치했습니다.