Python 2.7 라이브러리의 결과 인 데이터를로드하려고합니다. 즉, AWS Redshift 테이블에 대한 pg8000 쿼리입니다.Redshift가 테이블에 값을 삽입합니다.
먼저 Redshift 테이블에 결과를 쿼리하고 목록에 값이 포함 된 튜플 안에 제공합니다.
예 :
value_tuple = ([datetime.date(2016, 10, 2), 1, 1, 123123], [datetime.date(2016, 10, 2), 1, 2, 3131312])
내가 다른 테이블로이 값을 삽입하고 싶지만 삽입 문을 만드는 몇 가지 문제로 실행하고 있습니다. 모든 값을 개별적으로 삽입 할 수는 있지만, 한꺼번에 수행해야합니다.
나는 다음과 같다 함께 일하고 있어요 표 :
| date_column | value_1 | value_2 | value_count |
| 2016-10-01 | 1 | 2 | 300 |
먼저 내가 튜플
update_query = """insert into my_schema.my_table_to_update
values %s
""" % str(value_tuple[0])
이 식으로 update_query 내에서 단지 하나의 목록을 사용하여 업데이트 쿼리를 만들려고 다음과 같이됩니다 :
'insert into my_schema.my_table_to_update\n values [datetime.date(2016, 10, 2), 1, 1, 123123]\n '
테이블에 대해 업데이트 쿼리를 실행하면이 오류가 발생합니다.
pg8000.core.ProgrammingError: (u'ERROR', u'42601', u'syntax error at or near "["', u'70', u'/home/rdsdb/padb/src/pg/src/backend/parser/parser_scan.l', u'699', u'yyerror', u'', u'')
나는 이것이 테이블에 삽입하기 위해 결과의 목록 형식을 사용할 수 없다는 것을 의미한다고 생각합니다.
Redshift에이 데이터를 삽입하는 기능적이고 바람직하게는 효율적인 방법은 무엇입니까?