2017-04-26 5 views

답변

1

안드레아,

난 당신이 그린 플럼 (Greenplum) 내에 분석 데이터 ETL을 실행하기 위해 공기 흐름을 사용할 수 있다고 생각합니다.

Jon이 제공 한 "아니오"대답은 Greenplum을 백엔드 메타 데이터 저장소로 사용하는 것과 관련하여 외관상으로는 DAG 및 작업을 추적하기 위해 Airflow에서 내부적으로 사용했습니다. Jon이 예로 사용한 코드는 Airflow가 백엔드 메타 데이터 저장소에 사용하는 테이블을 만드는 방법입니다.이 테이블은 관리하려는 Greenplum 데이터웨어 하우스의 내용과 아무 관련이 없습니다.

대용량 백 엔드가 아닌 대용량 분석 데이터에 대해 Greenplum에 관심이있는 것으로 의심됩니다. 그래서 대답은 거의 확실합니다!

심지어 표준 PostgreSQL의 후크와 연산자를 사용하여 얻을 수 있습니다 : https://gpdb.docs.pivotal.io/4330/admin_guide/managing/access_db.html

공기 흐름의 표준 PostgreSQL의 후크 & 연산자 경우 :이 그린 플럼은 표준 PostgreSQL의 파이썬 API를 사용할 수 있음을 표시하기 때문에 나는이 말을

을 당신을 위해 일하지 마라, 당신 자신의 것을 쉽게 창조 할 수있다. 예를 들어 Snowflake 데이터웨어 하우스에 대한 필자의 작업을 참조하십시오. Snowflake Python 커넥터를 공기 흐름에 통합하는 것은 간단한 문제였습니다. 모든 것을 실패

https://github.com/aberdave/airflow-snowflake

, 당신은 공기 흐름을 통해 그린 플럼 날짜를 관리하는 ODBC 또는 JDBC를 사용할 수 있어야합니다. Python 연결기를 사용자 정의하는 것이 매우 쉽기 때문에 Python과 함께 Snowflake로 작업했습니다.

+0

고맙습니다, @DaveAbercrombie. 현재 언급 한 두 가지 방법을 모두 시도하고 있습니다. –

+0

@AndreaPrakash가 표준 후크 작업을 수행 했습니까? – jastang

0

아니요. Airflow github repo를 빠르게 보면 기본 키 제약 조건과 Greenplum에서 지원되지 않는 고유 한 제약 조건이있는 추가 열이 사용되었음을 알 수 있습니다. 예를 들어

: 당신은 그린 플럼 (Greenplum)에서 (ID)에 기본 키 (사용자 이름)에 대한 또 다른 고유 제한 조건을 가질 수 없습니다

op.create_table(
     'user', 
     sa.Column('id', sa.Integer(), nullable=False), 
     sa.Column('username', sa.String(length=250), nullable=True), 
     sa.Column('email', sa.String(length=500), nullable=True), 
     sa.PrimaryKeyConstraint('id'), 
     sa.UniqueConstraint('username') 
    ) 

.

그들의 github repo에는 Netezza 및 Teradata와 같은 다른 MPP 데이터베이스 플랫폼에 대한 언급도 없습니다. 어쩌면 기류는 소규모 데이터, 데이터 과학을위한 것이지만 그것은 모순 같이 들릴 수 있습니다.

+0

감사합니다. @JonRoberts. –

관련 문제