반응형

분류 전체보기 1245

Apps Script로 MSSQL 데이터를 분단위 trigger로 sync 유지하기

mssql 의 데이터를 가져와 Google Sheets에 데이터를 뿌려 줘 본다. 해당 Google Sheets의 데이터들의 내용을 주기적으로 MSSQL 데이터와 sync를 맟추고 싶다. 이를 해결하기 위해, Apps Script에서 제공하는 Trigger 중 Time-driven 을 이용한다. 일단 MSSQL의 데이터를 해당 sheet에 뿌려준다. const address = 'mssql ip address'; const port = 'mssql port'; const user = 'mssql user'; const userPwd = 'mssql password'; const db = 'mssql database'; const dbUrl = `jdbc:sqlserver://${address}:${por..

GCP/Apps Script 2022.12.27

AWS Glue에서 Spark를 이용해 MSSQL 데이터를 S3에 저장하기

python job을 생성하여 싱글노드로 MSSQL 데이터를 S3에 저장하다보니, 데이터의 양이 1억건이 넘어가면 메모리부족이 발생했다. 데이터 사이즈가 큰 테이블의 경우에는, Spark을 이용해 분산저장을 해야겠다. 일단 Glue Job에서, [Spark script editor] 을 통해 Spark job을 생성한다. import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext from awsglue.context import GlueContext from awsglue.job import Job ## @params: [JOB_NA..

AWS 2022.12.26

AWS Glue에서 pymssql 을 이용해 MSSQL 데이터를 S3에 저장하기

AWS Glue를 이용해, MSSQL 의 데이터를 S3에 저장하는 기능을 구현하려한다. Glue 에서 [Python Shell script editor] 를 생성한다. python shell script로 생성하면. gule 1.0으로 생성된다. https://docs.aws.amazon.com/glue/latest/dg/release-notes.html AWS Glue versions - AWS Glue AWS Glue versions You can configure the AWS Glue version parameter when you add or update a job. The AWS Glue version determines the versions of Apache Spark and Python ..

AWS 2022.12.26

관리용 Apps Script로 여러개의 Google Sheets 템플릿 관리하기

아래와 같이 동일한 템플릿의 여러 Google Sheets 파일들을 관리해야 할 경우가 발생할 수 있을것이다. 영업팀의 경우, 서울 영업팀, 부산 영업팀의 Google Sheets들이 따로따로 존재할 것이고, 서울, 부산의 sheet 템플릿에 동일한 수정이 필요할 경우가 생길것이다. 연락처라는 항목 뒤에 다른 항목을 추가하려고 한다. 10개의 사업소일 경우, 모든 사업소의 파일을 열어 수정해주어야 할것이다. Google Sheets들의 URL 들을 가지고, 모든 sheet의 항목을 한번에 추가 할 수있다. 먼저 파일들의 url들을 변수로 선언해주고, 변수들을 배열에 담아, loop를 돌아주면서 주어진 셀에 모두 같은 값과 서식을 지정해주는 방식으로 구현하면 모든파일을 다 수정할필요 없이, Apps Scr..

GCP/Apps Script 2022.12.21

KOSIS openAPI 를 AWS Glue 에서 실행해보기

kosis openAPI를 AWS Lambda를 이용해 호출해보는것까지 해보았다. Lambda가 아닌 AWS Glue를 이용해 데이터를 S3에 저장하는 기능을 구현해본다. Glue 서비스로 이동한다. Jobs에 Python script editor를 선택하고 [Create]를 클릭한다. [Script] 탭에, 작성한 python code를 붙여넣고, [Job Detail] 탭으로 이동하여, Job 이름을 설정하고, 그리고 IAM Role을 설정해준다. IAM이 없으면 아래와같이 생성해준다. https://whiseung.tistory.com/entry/AWS-Glue-%EB%A5%BC-%EC%82%AC%EC%9A%A9%ED%95%98%EA%B8%B0-%EC%9C%84%ED%95%9C-IAM-%EC%83%..

AWS 2022.12.13

AWS Glue 를 사용하기 위한 IAM 생성

AWS Glue를 사용하려고하는데, IAM을 선택해야 실행할수 있엇다. 그래서 IAM을 만들러 왔다. [IAM] - [역할] 로 이동. [역할 만들기] 클릭 신뢰할수 있는 엔티티 유형 중 [AWS 서비스] 를 선택하고, 다른 AWS 서비스의 사용사례에서 [Glue] 를 선택하고 [다음]을 누른다. 권한추가에서, S3접근을 위한 'AmazonS3FullAccess' 와 'AWSGlueServiceRole' 을 선택하고, 다음으로 이동한다. https://docs.aws.amazon.com/ko_kr/glue/latest/dg/create-an-iam-role.html 2단계: AWS Glue에 대한 IAM 역할 생성 - AWS Glue 2단계: AWS Glue에 대한 IAM 역할 생성 AWS Glue가 사..

AWS 2022.12.13

KOSIS openAPI 호출을 위한 AWS Lambda 생성

앞에서 만든 python을 AWS Lambda에 등록해본다. https://whiseung.tistory.com/entry/KOSIS%EA%B5%AD%EA%B0%80%ED%86%B5%EA%B3%84%ED%8F%AC%ED%84%B8-%EB%8C%80%EC%9A%A9%EB%9F%89%ED%86%B5%EA%B3%84%EC%9E%90%EB%A3%8C-openAPI-%EC%82%AC%EC%9A%A9 KOSIS(국가통계포털) 대용량통계자료 openAPI 사용 kosis 에서 제공하는건, [통계자료]와 [대용량통계자료] 두가지가 존재한다. 현재로썬, [대용량통계자료] 를 쓸일이 없긴한데 일단 테스트를 진행한다. 자료등록 URL을 생성하고, [URL생성]을 누른다 whiseung.tistory.com Lambda 함수..

AWS 2022.12.09

python으로 AWS S3 파일 읽고 쓰기

KOSIS openAPI 를 가져왔으니, 이를 AWS S3에 올리려고 한다. 일단 S3에 접근할수 있는 IAM 자격정보를 가져온다 [IAM] - [액세스 관리] - [사용] 로 이동한다. 사용자를 클릭하고, [보안 자격 증명] 으로 이동한 뒤 [엑세스 키 만들기] 를 클릭한다. 액세스키를 만들고, 엑세스 키 ID 와, 비밀 액세스 키 를 이용해 python에서 S3에 접근한다. 로컬에, parquet 파일 만들기 (SDMX) import pandas as pd import requests from bs4 import BeautifulSoup open_url = "https://kosis.kr/openapi/statisticsBigData.do?method=getList&apiKey=api_key&form..

AWS 2022.12.06
반응형