Amazon RedShift의 거대한 데이터 세트에서 일부 집계를 수행하며 MySQL에는 상대적으로 적은 양의 데이터가 있습니다. RedShift의 조인 중 일부는 MySQL에 데이터가 필요합니다. MySql 데이터를 RedShift와 동기화하는 가장 좋은 방법은 무엇입니까? 오라클의 원격보기와 같은 적색 변이가 있습니까? 아니면 프로그래밍 방식으로 MySql을 쿼리하고 RedShift에 삽입/업데이트해야합니까?MySql의 데이터를 Amazon RedShift와 동기화
6
A
답변
3
Redshift에서 조인을하기 위해 MySQL 데이터가 필요한 경우 일반적으로이를 하나에서 다른 것으로 전송합니다.
그것은 의미 :
- Redshift에 : 유사한 테이블 스키마 생성 (/ PSQL의 특수성을 염두 적색 편이에 베어링)
- MySQL의 : 수출을 지퍼로 잠그는
- (CSV 형식) 데이터 테이블을 덤프, 테이블 잘라 내기 및 사용하여 모든 데이터를 가져 COPY
단계 : 및 S3
7
Redshift는 이제 SSH를 통해 loading data from remote hosts을 지원합니다. 이 기술은 포함한다 :
- 클러스터 노드 의 IP 주소에서 원격 호스트 (들)에 대한 SSH 액세스를 허용 원격 호스트 (들)
- 에서의 authorized_keys 파일에 클러스터에서 공개 키를 추가
- 원격 호스트에서 실행할 원격 호스트, 공개 키 및 명령을 지정하는 S3에 JSON 매니페스트 업로드
- 지정된 매니페스트 파일 및 AWS 자격 증명으로 COPY 명령 실행
매니페스트에 의해 지정된 명령은 Redshift COPY 명령으로 format suitable for ingest에 텍스트 출력을 인쇄하는 임의의 명령을 실행합니다.
-2
이 simplest way을 확인하여 MySQL 데이터를 적색 변이로로드하십시오. 초기 데이터 스냅 샷을 적색 변이로로드하기 만하면 무료 솔루션을 사용해보십시오. 또한 스키마 마이그레이션, 나란히 배치 된 쿼리 콘솔 및 전체로드 프로세스의 일부 통계 보고서 (차트 포함)를 얻을 수 있습니다.
0
Oracle에서 "원격보기"란 무엇입니까?
어쨌든 테이블에서 CSV 파일로 데이터를 추출 할 수 있다면 하나 이상의 스크립팅 옵션이 있습니다. Python/boto/psycopg2 콤보를 사용하여 Amazon Redshift로 CSV로드를 스크립팅 할 수 있습니다. 내 MySQL_To_Redshift_Loader 나는 다음을 수행에서
는 : 임시 파일에 MySQL의에서
데이터를 추출. S3에
loadConf=[ db_client_dbshell ,'-u', opt.mysql_user,'-p%s' % opt.mysql_pwd,'-D',opt.mysql_db_name, '-h', opt.mysql_db_server] ... q=""" %s %s INTO OUTFILE '%s' FIELDS TERMINATED BY '%s' ENCLOSED BY '%s' LINES TERMINATED BY '\r\n'; """ % (in_qry, limit, out_file, opt.mysql_col_delim,opt.mysql_quote) p1 = Popen(['echo', q], stdout=PIPE,stderr=PIPE,env=env) p2 = Popen(loadConf, stdin=p1.stdout, stdout=PIPE,stderr=PIPE) ...
압축 하중 데이터 boto 파이썬 모듈 및 다중 업로드를 사용.
conn = boto.connect_s3(AWS_ACCESS_KEY_ID,AWS_SECRET_ACCESS_KEY) bucket = conn.get_bucket(bucket_name) k = Key(bucket) k.key = s3_key_name k.set_contents_from_file(file_handle, cb=progress, num_cb=20, reduced_redundancy=use_rr)
사용 psycopg2 COPY 명령은 테이블을 적색 편이에 데이터를 추가합니다.
sql=""" copy %s from '%s' CREDENTIALS 'aws_access_key_id=%s;aws_secret_access_key=%s' DELIMITER '%s' FORMAT CSV %s %s %s %s;""" % (opt.to_table, fn, AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY,opt.delim,quote,gzip, timeformat, ignoreheader)
관련 문제
- 1. MySQL의 mobilink 동기화 어디서나
- 2. MySQL의 간단한 테이블 동기화?
- 3. 동기화 MySQL의 DB는
- 4. rake 작업을 Amazon AWS와 동기화
- 5. JSON 데이터를 사용하여 SQLite를 사용하여 MySQL의 원격 테이블 동기화
- 6. MySQL의 테이블 동기화 또는 트리거?
- 7. Amazon S3에서 Amazon EC2로 데이터를 전송하는 방법
- 8. PHPStorm의 Amazon EC2에 대한 SCP 동기화 지원
- 9. S3-> Redshift와 S3-> EMR-> Redshift의 차이점은 무엇입니까?
- 10. 동기화 PHP 망할 놈의 프로젝트의 MySQL의 구조
- 11. MySQL의 데이터를 PHP 파일에 PHP에서 MySQL의 쿼리
- 12. MySQL의 InnoDB의 데이터를 선택
- 13. 이해 개념은 MySQL의 데이터를
- 14. MySQL의 데이터를 Unidata와 동기화하십시오.
- 15. MySQL의 데이터를 선택하고 조작이
- 16. 데이터를 mysql의 열로 분해하십시오.
- 17. MySQL의 쿼리가 올바른 데이터를
- 18. mysql의 데이터를 JTable에 표시
- 19. 핵심 데이터를 웹 서비스와 동기화
- 20. 전화 데이터를 온라인 서비스와 동기화
- 21. 서버에있는 기기의 데이터를 동기화 하시겠습니까?
- 22. ms 액세스와 MySQL의 프로그래밍 방식 및 자동화 된 동기화
- 23. 동기화 데이터를 sql 텍스트로 보내려면 동기화 프레임 워크 1
- 24. 그것의 MySQL의 테이블에 데이터를 삽입하는
- 25. MySQL의 쿼리는 데이터를 가장 높은
- 26. mysql의 데이터를 로컬 저장소에 저장하십시오.
- 27. mysql의 마지막 삽입 데이터를 확인하려면
- 28. JTable이 MySQL의 데이터를 채우지 않습니다.
- 29. CouchDB의 데이터를 MySQL의 IN으로 입력하십시오.
- 30. PHP없이 MySQL의 데이터를 직렬화하는 방법
해결책하지만 단지 참조가 없습니다 귀하의 게시물을 촉진하기 위해 게시하지 마십시오. 이것은 리드 생성 포털이 아닙니다. – lazywiz