在Datameer (Rapid /BI工具,位于hadoop之上)中的几个提取作业正在从salesforce对象中读取数据。最大的提取值是1.4GB(Task对象),最小的提取值是96 MB(account对象)。Datameer使用基于REST的连接器,向连接器提供SOQL查询,并相应地获取记录(https://documentation.datameer.com/documentation/display/DAS60/Salesforce)。
Datameer编译作业并将执行交给执行框架(Tez)。此外,也没有特定于作业的配置。
所有saleforce提取作业都与1个Map任务一起运行。
但,
datameer中还有其他提取作业,它们从sftp服务器上的平面文件(50-200MB)中读取数据,并在3-5个映射任务之间使用。
关于SOQL:size.htm SOQL每批提取最大2000条记录
我的问题是:
环境信息: Hortonwork 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发布于 2017-02-14 00:52:45
这一问题是在Datameer的支持下提出的,他提供了以下答复。
的根源分析:
他说:“使用中的地图机数目有限。主要是,它用于一个web服务,它不会从创建多个拆分中获益。这可能是因为服务不支持拆分,或者数据太小,以至于作业无法从拆分中获益。“
背景:
Datameer使用salesforce连接器,实习生使用REST调用,该调用可以在单个请求中获取最多2000条记录。REST调用是同步的,其返回结果的时间限制为5秒。
https://stackoverflow.com/questions/42014666
复制相似问题