본문 바로가기
반응형

공부378

[airflow] Mysql to gcs to bigquery 할 때 CSV로 저장하기 이 글은 이전에 소개한 mysql => gcs, gcs => bigquery 를 이해한 상태에서 보는 것이 도움된다. - [airflow] Mysql 데이터를 GCS(Google Cloud Storage)로 저장하기 lemontia.tistory.com/957 - [airflow] GCS(Google Cloud Storage) 파일을 BigQuery에 저장하기 lemontia.tistory.com/965 일전에 MySqlToGoogleCloudStorageOperator를 소개하면서 Json형태로 저장하는걸 소개했었는데, json은 포멧구조 상 key를 포함해야 하기 때문에 CSV에 비해 용량이 2배이상 차이난다. json 형태 {"AGE": 25, "ID": 1, "NAME": "아이유", "REG_D.. 2020. 10. 8.
[react] checkbox 전체선택하게 하기(장바구니 상품삭제 기능) 장바구니 같은 화면을 보면 개별로 체크박스 버튼이 있고 전체를 체크하는 체크박스가 있다.ㅁ 전체를 체크하는 체크박스를 클릭하면 개별 체크박스가 전부 클릭되도록 하려한다. redux, immer를 사용하고 있고, react hook을 이용해 개발을 진행하고 있다. 방법은 다음과 같이 했다. 1. 개별, 전체 선택시 ID를 배열로 저장(변수를 checkItems 함) 2. 삭제 클릭 시 저장되어 있는 ID배열을 이용해 삭제 시도 포인트: 1) 전체선택 시, 현재 보여지고 있는 목록의 ID를 가져와 배열을 담는다 2) 개별 선택을 저장하고 있는 checkItems 안의 내용을 비교하여 값이 있으면 체크박스에 체크되어 있도록 함 reducer에 다음의 데이터를 등록한다 import produce from "im.. 2020. 10. 7.
[springboot] jpa 2개이상 DB사용(querydsl 설정 포함) 2개 이상의 DBMS를 JPA를 이용해 접근하는 법 + Querydsy( queryFactory) 사용 방법을 정리한다 한가지 조건이 있다면, 둘다 hibernate 설정이 같아야 한다.(Datasource는 다름) 만약 이부분을 다르게 할거라면 아래 설정중에 LocalContainerEntityManagerFactoryBean 를 설정하는 부분에서 삽입될 properties를 수정하면 된다. 여기서는 mysql을 사용했다. 우선 application.properties에 설정된 값을 먼저 살펴보자. 각자 서버에 맞게 설정하면 되겠다. spring.jpa.show-sql=true spring.jpa.generate-ddl=false spring.jpa.hibernate.ddl-auto=none sprin.. 2020. 9. 17.
[airflow] 테이블 유무 확인 BigQueryTableSensor 간단하게 알아보자. airflow에는 bigquery를 수행할때 BigQueryHook을 이용하는데 여기서 제공하는 메서드 중에 hook.table_exists 라는게 있다. 해당 코드를 보면 다음과 같다 ... def table_exists(self, project_id, dataset_id, table_id): """ Checks for the existence of a table in Google BigQuery. :param project_id: The Google cloud project in which to look for the table. The connection supplied to the hook must provide access to the specified project. :ty.. 2020. 9. 10.
[airflow] GCS(Google Cloud Storage) 파일을 BigQuery에 저장하기 지난 글에 이어 살펴보자. lemontia.tistory.com/957 [airflow] Mysql 데이터를 GCS(Google Cloud Storage)로 저장하기(mysql_to_gcs, 한글깨짐, 날짜포멧 수정) Data lake 를 구축하기 위한 1단계인 원본데이터를 GCS로 이동하는 것을 다뤄보려 한다. embulk를 쓸까도 했었는데, JAVA 1.8 버전 이후부터는 지원을 안하기도 했고, 관리포인트를 늘리는 것도 좋아보�� lemontia.tistory.com 이전 글에서 환경변수에 AIRFLOW_CONN_GOOGLE_CLOUD_DEFAULT 를 설정하여 GCS를 접근하게 했는데, 이 정보를 그대로 사용해도 되고 또는 BigQuery만의 설정을 따로 만들어도 좋다. 다만 airflow에서 제공.. 2020. 9. 9.
[airflow] Mysql의 캐릭터셋(charset)이 euc-kr 일 때(혹은 로드시 can't decode byte 0xb5에러가 날때) airflow 에서 제공하는 플러그인 중 쓰고있는 MySqlToGoogleCloudStorageOperator 는 기본 캐릭터 셋을 utf-8로 인식한다. 그런데 DB에서 설정하는 스키마가 utf8이 아닐경우 로드 하다보면 다음과 같은 에러를 발생시킨다. ERROR - 'utf-8' codec can't decode byte 0xb5 in position 0: invalid start byte Traceback (most recent call last): File "/usr/local/lib/python3.7/site-packages/airflow/models/taskinstance.py", line 983, in _run_raw_task result = task_copy.execute(context=c.. 2020. 9. 7.
반응형