기본적으로 각 조각은 하나의 파일을 만듭니다 (아래 설명 참조). 가장 가까운 쿼리에 LIMIT
을 추가하면 리더 노드가 전체 응답을 처리하게되므로 알려진 해결 방법이 있습니다. 따라서 하나의 파일 만 생성됩니다. LIMIT
절은 부호없는 정수 인수를 취하는 등, 1 기록 -
SELECT * FROM (YOUR_QUERY) LIMIT 2147483647;
이것은 단지 한 당신의 내면의 쿼리가 2^31보다 적은 반환로 작동합니다.
파일은 어떻게 생성됩니까? http://docs.aws.amazon.com/redshift/latest/dg/t_Unloading_tables.html
Amazon Redshift splits the results of a select statement across a set of files, one or more files per node slice, to simplify parallel reloading of the data.
그래서 지금 우리는 조각 당 적어도 하나 개의 파일이 생성되는 것을 알고있다. 그러나 조각은 무엇입니까? http://docs.aws.amazon.com/redshift/latest/dg/t_Distributing_data.html
The number of slices is equal to the number of processor cores on the node. For example, each XL compute node has two slices, and each 8XL compute node has 16 slices.
조각의 최소 수는 2 것 같다, 그리고 더 많은 노드 또는 더 강력한 노드를 추가 할 때 그것은 더 성장할 것이다.
언로드 절에서 "선택 ... 제한"을 사용하려고했는데 "ERROR : Limit 절이 지원되지 않습니다"라고 말합니다. – ciphor
@ciphor, 그건 새로운 것이거나 12 월 1 일에 변경 될 수 있습니까? 다른 SELECT * FROM() 안에있는 모든 쿼리를 래핑하는 것이 효과가 있는지 테스트했지만 많은 시간을 소비하지는 않았습니다. 단일 파일이 있지만 시간은 얼마나 걸릴지 알고 있습니다. 나는 모른다 ... –
@TomaszTybulewicz LIMIT를 사용하여 리더 노드 만 처리 및 2^31-1 레코드를 수행하도록하는 것에 대한 의견이 있으면 설명서 링크가 있습니까? 나는 문서에서 어디서나 찾을 수없는 것 같습니다. –