본문 바로가기
반응형

2020/098

[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.
[python3] 기존에 되던것이 No module named 뜰 때 최근 서버를 점검하다 파이썬3.7 => 3.8로 버전을 올리게 되면서 pip3 도 같이 업데이트 했는데, 하고나니 기존 프로그램들이 실행되지 않는 문제가 발생했다. 보아하니 pip3로 받은 모듈들이 모두 깨진게 아닐까 판단. 복구방법은 pip3 명령어로 --upgrade 해주어야 한다 예를들어 다음과 같은 에러가 난다면 ... ModuleNotFoundError: No module named 'google' 아래 명령어로 수행해주어야 한다. pip3 install --upgrade google-cloud-storage 그중에는 모듈이름이랑 완벽하게 일치하지 않는경우가 있었는데, 위 사례가 그렇다. google이라고 하지만 사실상 google-cloud-storage 와 google_auth_httplib.. 2020. 9. 3.
[springboot, bigquery] 데이터 조회 dependency는 다음을 참조한다. dependencies { ... compile group: 'org.springframework.cloud', name: 'spring-cloud-gcp-starter-bigquery' ... } 만약 버전을 참고하지 못해 에러가 발생한다면 최신버전인 1.2.5.RELEASE 를 입력하면 된다(2020.09.01 기준) dependencies { ... compile group: 'org.springframework.cloud', name: 'spring-cloud-gcp-starter-bigquery', version: '1.2.5.RELEASE' ... } application.properties에 다음을 설정한다. spring.cloud.gcp.bigquer.. 2020. 9. 2.
반응형