Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 프라하
- CSV
- Selenium
- PayPay
- react.js
- 熱海
- typescript
- vba
- documentdb
- 방콕
- 三井住友カード
- 태국
- 釜つる
- JenkinsFile
- 메르페이
- PostgreSQL
- duckdb
- local
- 페이페이
- 뮌헨
- terraform
- javascript
- 체코
- codebuild
- 카마츠루
- 미츠이 스미토모
- Python
- pyenv
- 아타미
- node.js
Archives
- Today
- Total
도쿄사는 외노자
Athena, Redshift에서의 CSV 줄바꿈 미대응 문제 본문
현재 아래의 동작을 검증 중이다.
- KMS 커스토머 관리 키 생성 및 Glue Data Catalog 암호화
- KMS키로 암호화한 S3 Bucket에 원본 데이터 투입
- Glue Jobs로 데이터 조작 및 클렌징
- 결과물을 암호화한 다른 Bucket에 격납
- Glue Crawler로 결과물 긁어와서 Glue Data Catalog에 투입
- Data Catalog에 생성된 테이블의 데이터를 Athena로 확인
- 데이터가 정상적으로 확인되면 Redshift 경유로 Tableau에 연결
JSON형식의 뉴스 기사를 CSV로 출력하여 크롤러로 긁어서 6까지 왔는데...
아테나가 뉴스 본문의 줄바꿈에 대응을 해주지 않고, 그냥 데이터 한줄씩 땡겨버리드라.
이게 아테나만 그런거면 그냥 무시해도 되는데, 7도 마찬가지다.
아무래도 그냥 공통적으로 그런거같으니, 일단 아테나에서 잘 돌아가면 다른데서도 잘 돌아갈 듯.
검색해보니 아래와 같은 느낌.
아테나는 CSV에 그런거 안해주니까 그냥 Parquet으로 하랜다.
https://yohei-a.hatenablog.jp/entry/20191015/1571066002
마침 나도 출력 데이터의 형식은 상관없고, 그냥 Data Catalog에서만 잘 인식되면 되니까, Glue Job에서 Parquet으로 출력해버렸다.
S3bucket_node3 = glueContext.write_dynamic_frame.from_options(
frame=ApplyMapping_node2,
connection_type="s3",
format="glueparquet",
connection_options={
"path": "s3://output/news/",
"partitionKeys": [],
},
format_options={"compression": "snappy"},
transformation_ctx="S3bucket_node3",
)
크롤러로 다시 긁어서, Athena와 Redshift, Tableau로 확인해보니 잘 돌아간다.
'Tech > AWS for Data Engineering' 카테고리의 다른 글
Eventbridge Scheduler를 이용한 Teams 자동 통지 (0) | 2024.01.22 |
---|---|
AWS Glue Job에서 Tableau에 Hyper파일 Publish하기 (1) | 2023.04.20 |
Glue Crawler로 쌍따옴표가 포함된 CSV파일 읽기 (2) | 2023.02.14 |
Terraform으로 CloudTraild의 Cloudwatch 만들 때 조심할 것 (0) | 2022.12.14 |
AWS Glue Job을 종료시키고 싶을 때 (0) | 2022.10.26 |