본문 바로가기
반응형

공부/데이터19

[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.
[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] DAG schedule_interval에 timezone 세팅 airflow 버전은 1.10.10 을 사용중이다. (현재 기준 최신버전은 1.10.12) 유지보수를 용이하게 하기 위해 execution_date에 어떻게든 timezone에 맞춰 설정하려 했는데 몇가지 방법을 써도 전혀 되지 않았다. 알고보니 스케쥴을 실행할 때 run_id라는게 있는데, 이게 execution_date 과 달리 움직이기 때문이었다.(내부 문제인듯 싶은데....) 그래서 결론만 말하자면 UTF 기준으로 설정해야 하고, timezone은 설정되지 않는다.(화면에서 보이는 것 등은 설정이 되는거 같더만...) 아래는 과정이다. 그럼 시작. 테스트를 위해 schedule_interval 설정을 새벽 1시로 설정했다. 그래야 timezone 설정 테스트에 부합하기 때문이다. 예를들어 9월 1.. 2020. 8. 31.
[pandas] 특정 key를 기준으로 groupby 한 후 해당목록 배열(dict)로 변경하기 Grid 형식의 데이터에 Key를 지정하여 관련 값을 배열로 넣고 싶을떄 쓰면 된다. 여기서는 예로 주소를 썼다. 가령 서울시에 포함되는 구들을 배열로 만들고 싶은 경우다 아래 원본데이터와 변경하고 싶은 데이터를 보면 이해될 거 같다. 이번 포스팅을 수행하기 위해 샘플 파일을 여기 첨부해두겠다. CSV 내 데이터 형태 바꾸고 싶은 문자형 { '광주광역시':['광산구', '남구', '동구', '북구', '서구'] ,'대구광역시':['남구', '달서구', '달성군', '동구', '북구', '서구', '수성구', '중구'] ,'대전광역시':['대덕구', '동구', '서구', '유성구', '중구'] ... } 그럼 pandas 를 켜서 다음을 수행한다. sample = pd.read_csv('address-sa.. 2020. 5. 30.
[pandas] read_csv 사용 시 날짜를 datetime 형태로 지정하기 csv 의 특정 컬럼 중 날짜형태(yyyy-MM-dd hh:mi:ss) 로 표시되어 있어도 csv를 불러오면 object(string) 형태로 선언되어 있다. 이전까지는 padnas.to_datetime 을 이용해서 형태를 바꿨는데 데이터가 1000만 건이상이 되면 변환해주는것도 시간이 꽤 소요된다. 그래서 옵션을 추가해 처음 로드할때 부터 데이터타입을 맞추는게 더 효율적이다. read_csv를 이용할때 옵션을 주면 datetime 형태로 로드가 가능하다 이번 포스팅은 샘플파일 기준으로 작성했다. 샘플데이터는 다음과 같이 저장되어 있다. read_csv를 이용할때 옵션을 주면 datetime 형태로 로드가 가능하다 id,상품명,구매 1,아메리카노,2019-12-01 11:20:00 2,카페라떼,2019-.. 2019. 12. 10.
[데이터분석] 장바구니 분석(apriori 알고리즘) 사용 및 해석하기 apriori 알고리즘을 사용하기 위해서는 다음과 같은 구조로 데이터셋이 되어야 한다. dataset = [ ['아메리카노', '카페라떼'], ['카페라떼', '아메리카노', '카푸치노'], ['바닐라라떼', '아메리카노'], ... ] DBMS에 이런식으로 데이터가 저장되어 있을리가 만무하다. 전처리를 위해 어떻게 처리하면 좋을지 이전 포스팅에 추가해두었다. https://blog.naver.com/varkiry05/221724021065 [데이터정제] apriori 알고리즘을 실행할 수 있게 데이터 변형하기 DBMS에서 바로 데이터를 뽑으면 다음과 같은 행태일 것이다.​하지만 Apriori 알고리즘을 실행하려면 ... blog.naver.com 여기서는 샘플을 만들어 진행하고자 한다. 데이터셋 샘플 .. 2019. 12. 4.
반응형