2017-02-03 1 views
0

Datameer의 여러 추출 작업 (Rapid ETL/BI 도구, hadoop 상단에 위치)이 salesforce 객체에서 데이터를 읽습니다. 가장 큰 추출물은 1.4GB (작업 개체)이고 가장 작은 추출물은 96MB (계정 개체)입니다. Datameer는 REST API 기반 커넥터를 사용하며 커넥터에 SOQL 쿼리가 제공되고 그에 따라 레코드가 페치됩니다 (https://documentation.datameer.com/documentation/display/DAS60/Salesforce).salesforce에서 데이터를 추출하는 동안 작업을 매핑하는 작업이 하나뿐입니다.

Datameer는 작업을 컴파일하고 실행 프레임 워크 (Tez)로 넘깁니다. 또한 작업 별 구성도 없습니다.

모든 salesforce 추출 작업은 1 개의 맵 작업으로 실행됩니다.

그러나,

플랫 파일에서 데이터를 읽을 datameer 다른 추출 작업이 있습니다 - SFTP 서버에 (50 ~ 200 MB) 3-5지도 작업 사이에 사용.

SOQL 소개

는 : 플랫 파일의 데이터가 여러지도 작업을 실행하는 것을 고려

환경 정보 : 호튼 웍스 2.7.1

Cores Per Data node=8 

RAM per Data node=64GB 

No of datanodes = 6 

Block Size : 128 MB 

Input Split info: 

mapreduce.input.fileinputformat.split.maxsize=5368709120 (5 GB) 

mapreduce.input.fileinputformat.split.minsize=16777216 (16 MB) 

Execution Framework: Tez 

Memory Sizes: <property> <name>mapreduce.map.memory.mb</name> <value>1536</value> </property><property> <name>mapreduce.reduce.memory.mb</name> <value>2048</value> </property><property> <name>mapreduce.map.java.opts</name> <value>-Xmx1228m</value> </property><property> <name>mapreduce.reduce.java.opts</name> <value>-Xmx1638m</value> </property> 

<property> <name>yarn.app.mapreduce.am.resource.mb</name> <value>1024</value> </property><property> <name>yarn.app.mapreduce.am.command-opts</name> <value>-Xmx819m -Dhdp.version=${hdp.version}</value> </property> 

Compression is enabled: 

<property> <name>io.compression.codecs</name> <value>org.apache.hadoop.io.compress.GzipCodec,org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.SnappyCodec</value> </property> mapreduce.output.fileoutputformat.compress=true 

mapreduce.output.fileoutputformat.compress.type=BLOCK 

mapreduce.map.output.compress=true 

mapred.map.output.compression.type=BLOCK 

답변

0

이 문제는 다음과 같은 응답을 제공 Datameer 지원을 제기했다.

근본 원인 분석 :

는 "사용 만 1 매퍼의 제한이 있습니다. 주로 둘 이상의 분할을 만드는 것이 도움이되지 않는 웹 서비스에 사용됩니다. 서비스가 분할을 지원하지 않거나 데이터가 작업을 분할 혜택을하지 않을 정도로 작기 때문에이 될 수있다 "

배경 :.

Datameer는 인턴 REST API 호출을 사용하여 영업 인력의 커넥터를 사용합니다 단일 요청으로 최대 2000 개의 레코드를 가져올 수 있습니다. REST API 호출은 동기식이며 결과가 반환되는 제한 시간은 5 초입니다.

관련 문제