본문 바로가기

학습장/Data Engineering26

pandas - stack() 아래로 내려져있는 (row로 쌓여있는) 데이터를 컬럼으로 만들 필요가 있을 경우 pandas pivot() 을 활용하여 손쉽게 transpose 할 수 있습니다. (oracle 등 쿼리로 pivot / unpivot 하려면 ㅠ,.ㅜ) 반대로, 컬럼명을 포함해 옆으로 (컬럼으로) 놓여져있는 데이터를 행으로 만들 필요가 있을 경우에는 pandas의 stack() 함수를 통해 가능했습니다. >>> df_single_level_cols = pd.DataFrame([[0, 1], [2, 3]], index=['cat', 'dog'], columns=['weight', 'height']) >>> df_single_level_cols weight height cat 0 1 dog 2 3 >>> df_single_le.. 2022. 10. 3.
Vertica 특징 DW용 DBMS 중 하나인 Vertica에 대한 특징 정리 Vertica 주요 특징 MPP (Massively Parallel Processing) 별도 마스터 노드 필요 없이 모든 노드에서 병렬로 쿼리 실행 선형적으로 scale-out, 더 빠른 성능 또는 더 많은 사용자 지원 각 노드들이 동시에 각자의 리소스를 가지는 shared-nothing (?) 아키텍처 Columnar Storage 필요한 데이터만(쿼리에서 참조된) 읽어서, 기존 ROW 기반 스토리지 시스템에 비해 쿼리 속도 향상 Advanced Data Encoding 및 Compression 컬럼별 고급 압축 인코딩 및 알고리즘 적용하여 Disk 공간 절감 → 디스크 I/O 비용 감소로 성능 향상 적절한 인코딩 방법 데이터 type, 데이.. 2022. 9. 29.
python sqllineage 라이브러리 SQL 기반으로 데이터를 처리하는 경우, 복잡한 쿼리문에서 선후행 관계를 파악하고자 할 때 등에 유용하게 쓸 수 있는 sqllineage 라이브러리에 대해 알아보고자 합니다. 'lineage' 가 무슨 뜻일까요.. 흔히 알던 그 리니지? 라고 읽는건가? 이런 뜻이 있었군요.. SQL 내부의 소스/타겟 테이블들을 리턴해서 선후행 관계를 파악하는데 도움을 주는데 이 단어 뜻이 이런 것이였군요 pip로 sqllineage 설치 pip install sqllineage 예시 SQL문을 파라미터로 전달하면 아래와 같이 리턴됨. (2개 이상의 쿼리문은 세미콜론으로 구분됨) 테이블 스키마명 없을 경우 .테이블명 과 같이 출력됨 기본적으로 테이블명은 소문자로 리턴되는 것으로 보임 "insert into db1.tabl.. 2022. 8. 29.
ERROR s2v.S2V: ERROR: S2V.save(): did not pass the Vertica requirements pre-check.  spark 버전이 spark-vertica 커넥터가 지원하지 않는 경우 save시 에러 Vertica 8.1.x ASIS scala 2.11.12 pyspark 2.4.0 vertica-8.1.1_spark2.1_scala2.11.jar TOBE scala 2.12.10 pyspark 3.0.2 기존 커넥터 사용시 아래와 같은 에러 발생함 ERROR s2v.S2V: ERROR: S2V.save(): did not pass the Vertica requirements pre-check. The following problems were encountered: java.lang.NoSuchMethodError: scala.Predef$.refArrayOps([Ljava/lang/Object;)Lscala/c.. 2021. 7. 14.
728x90