Apache Hadoop ElasticSearch 7.9 官方配置文档中文版(仅供参考)

本文详述了Elasticsearch-Hadoop的配置属性,包括必要设定、基本设置和高级设置,涵盖网络、查询、操作、映射和安全等方面,为用户提供了全面的配置指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

1 必要设定

1.1 动态/多资源写入

1.2 格式化动态/多资源写入

2 基本设置

2.1 网络

2.2 查询方式

2.3 操作方式

2.4 映射(在写入Elasticsearch时)

2.5 字段信息(从Elasticsearch中读取时)

2.6 元数据(从Elasticsearch读取时)

2.7 更新设置(在写入Elasticsearch时)

3 高级设置

3.1 指数

3.2 输入项

3.3 网络

3.4 设置HTTP请求头

3.5 安全设定

3.6 基本认证

3.7 SSL协议

3.8 代理

3.9 序列化


可以通过以下属性来自定义elasticsearch-hadoop行为,通常是通过将其设置在目标作业的Hadoop上Configuration。但是,根据所使用的库,可以通过其他方式指定其中一些(请参阅相关部分)。

elasticsearch-hadoop使用与Elasticsearch相同的约定和合理的默认值,因此您可以尝试一下而无需特定配置。在大多数情况下,这些默认值对于运行生产集群非常合适。如果您要对集群进行微调,或者想知道某些配置选项的效果,请询问更多信息。

所有配置属性es均以前缀开头。该名称空间es.internal由库保留供其内部使用,并且用户在任何时候都不应使用。

1 必要设定

  • es.resource

    Elasticsearch 资源位置,在该位置读取和写入数据。需要格式<index>/<type>(相对于Elasticsearch)主机/端口

es.resource = twitter/tweet   # index 'twitter', type 'tweet'
  • es.resource.read(默认为es.resource

    用于写入(但不读取)数据的Elasticsearch 资源。通常用于动态资源写入或在同一作业中向不同的Elasticsearch索引写入和读取数据时使用。

  • es.resource.write(默认为es.resource

    用于写入(但不读取)数据的Elasticsearch资源。通常用于动态资源写入或在同一作业中向不同的Elastic索引写入和读取数据时使用。通常自动设置(需要手动配置的Map/Reduce模块除外)。

请注意,在上述资源设置中指定多个索引/类型仅允许读取。仅通过使用动态资源(如下所示)支持为写入指定多个索引。使用_all/types搜索types在所有索引或index/内搜索所有类型index。请注意,读取多个索引/类型通常仅在它们具有相同的结构且仅在某些库中才有效。需要强类型映射的集成(例如像Hive或SparkSQL之类的表)可能会失败。

1.1 动态/多资源写入

为了进行编写,elasticsearch-hadoop允许使用模式(通过使用{}格式)在运行时解析目标资源,并在运行时根据流到Elasticsearch的数据来解析目标资源。也就是说,可以将文档保存到一定的indextype基于约要保存的文档解决一个或多个字段。

例如,假设以下文档集(此处以JSON进行描述,以提高可读性-随时将其转换为实际的Java对象):

{
    "media_type":"game",
    "title":"Final Fantasy VI",
    "year":"1994"
},
{
    "media_type":"book",
    "title":"Harry Potter",
    "year":"2010"
},
{
    "media_type":"music",
    "title":"Surfing With The Alien",
    "year":"1987"
}

根据它们的索引对它们进行索引media_type将使用以下模式:

# 根据文档的类型
es.resource.write = my-collection/{media_type}

这将导致Final Fantasy VI索引under my-collection/gameHarry Potterunder my-collection/bookSurfing With The Alienunder my-collection/music。有关更多信息,请参阅专用集成部分。

仅在编写时支持动态资源,对于多索引/类型读取,请使用适当的搜索查询。

1.2 格式化动态/多资源写入

使用动态/多次写入时,还可以指定该字段返回的值的格式。开箱即用的elasticsearch-hadoop提供了日期/时间戳字段的格式设置,这对于在特定索引下的特定时间范围内自动将基于时间的数据(例如日志)进行分组很有用。通过使用Java SimpleDataFormat语法,可以以对语言环境敏感的方式格式化和解析日期。

例如,假设数据包含一个@timestamp字段,则可以使用以下配置将文档按每日索引分组:

# 根据文档的日期
es.resource.write = my-collection/{@timestamp|yyyy.MM.dd} 

@timestamp 字段格式-在这种情况下 yyyy.MM.dd

使用了相同的配置属性(es.resource.write),但是,通过特殊|字符指定了格式设置模式。有关支持的语法的更多信息,请参考SimpleDateFormat javadocs。在这种情况下,yyyy.MM.dd将日期转换为年份(由四位数字指定),月份由2位数字,然后是日期再由两位数字(例如2015.01.28)。

2 基本设置

2.1 网络

  • es.nodes(默认本地主机)

    要连接的Elasticsearch节点列表。远程使用Elasticsearch时,设置此选项。请注意,列表中没有必须包含每一个的Elasticsearch集群内的节点; 默认情况下,这些是由elasticsearch-hadoop自动发现的(请参见下文)。每个节点还可以分别指定其HTTP / REST端口(例如mynode:9600)。

  • es.port(默认为9200)

    用于连接到Elasticsearch的默认HTTP / REST端口-此设置适用于es.nodes未指定任何端口的节点。

  • es.nodes.path.prefix(默认为空)

    添加到对Elasticsearch的所有请求中的前缀。在群集以特定路径代理/路由的环境中很有用。例如,如果群集位于someaddress:someport/custom/path/prefix,则将设置es.nodes.path.prefix/custom/path/prefix

 

2.2 查询方式

  • es.query(默认无)

    保存用于从指定的读取数据的查询es.resource。默认情况下,它不是设置/为空,这意味着将返回指定索引/类型下的全部数据。es.query可以具有三种形式:

    • uri查询

      使用表格?uri_query,可以指定查询字符串。注意开头?

    • 查询dsl

      使用表单query_dsl-请注意,查询dsl需要以此处开头{和结尾,}如下所述

    • 外部资源

      如果以上两个都不匹配,elasticsearch-hadoop将尝试将参数解释为HDFS文件系统中的路径。如果不是这种情况,它将尝试从类路径或从Hadoop加载资源(如果失败)DistributedCache。资源应包含uri queryquery dsl

举个例子:

# uri (或参数) query
es.query = ?q=costinl
​
# 查询dsl
es.query = { "query" : { "term" : { "user" : "costinl" } } }
​
# 外部资源
es.query = org/mypackage/myquery.json

换句话说,es.query它足够灵活,因此您可以内联或通过从外部资源加载它来使用您喜欢的任何搜索API。

 

我们建议使用外部化在文件中的查询dsl,该文件包含在作业jar中(因此可在其类路径中使用)。这使得识别,调试和组织查询变得容易。在整个文档中,我们使用uri查询保存文本并提高可读性-用作uri时,现实生活中的查询很快变得笨拙。

2.3 操作方式

  • es.input.json(默认为false)

    输入是否已经为JSON格式(默认)。有关直接使用JSON的更多详细信息,请参见每个集成的相应部分。

  • es.write.operation(默认index)

    应该执行弹性搜索-hadoop的写操作-可以是以下任意一种:

    • index(默认)

      添加新数据,同时替换(重新索引)现有数据(基于其ID)

    • create

      添加新数据-如果数据已经存在(基于ID),则会引发异常

    • update

      更新现有数据(基于ID)。如果找不到数据,则引发异常。

    • upsert

      如果数据不存在,则称为合并插入;如果数据存在(根据其ID),则更新。

  • es.output.json(默认为false)

    连接器的输出是否应为JSON格式(默认)。启用后,文档以原始JSON格式返回(从Elasticsearch返回)。有关直接使用JSON的更多详细信息,请参见每个集成的相应部分。

  • es.ingest.pipeline(默认无)

    索引或创建文档时应作为目标的现有Elasticsearch Ingest管道的名称。只有当这样做可咦indexcreate操作;与updateupsert操作不兼容。

2.4 映射(在写入Elasticsearch时)

  • es.mapping.id(默认无)

    包含文档ID的文档字段/属性名称。

  • es.mapping.parent(默认无)

    包含文档父级的文档字段/属性名称。要指定常量,请使用``格式。

  • es.mapping.join(默认无)

    包含文档联接字段的文档字段/属性名称。常量不被接受。文档上的联接字段必须包含作为字符串的父关系名称,或包含子关系名称及其父ID的对象。如果在使用此设置时标识了子文档,则如果未在中配置其他路由,则文档的路由将自动设置为父ID es.mapping.routing

  • es.mapping.routing(默认取决于es.mapping.json

    包含文档路由的文档字段/属性名称。要指定常量,请使用<CONSTANT>格式。如果使用指定连接字段es.mapping.join,则默认为连接字段的父ID的值。如果未指定连接字段,则默认为无。

  • es.mapping.version(默认无)

    包含文档版本的文档字段/属性名称。要指定常量,请使用``格式。

  • es.mapping.version.type(默认取决于es.mapping.version

    指示使用的版本控制类型。如果es.mapping.version未定义(默认),则其值未指定。如果es.mapping.version指定,则其值为external

  • es.mapping.ttl(默认无)

    包含生存时间的文档的文档字段/属性名称。要指定常量,请使用CONSTANT格式。在Elasticsearch 6.0+索引版本上将不起作用,但将继续支持5.x索引版本及更低版本。

  • es.mapping.timestamp(默认无)

    包含文档时间戳记的文档字段/属性名称。要指定常量,请使用CONSTANT格式。在Elasticsearch 6.0+索引版本上将不起作用,但将继续支持5.x索引版本及更低版本。

  • es.mapping.include(默认无)

    要包含在发送给Elasticsearch的文档中的字段/属性。从实体中提取所需的数据很有用。语法类似于Elasticsearch include / exclude的语法。可以使用逗号指定多个值。默认情况下,未指定任何值,表示包括所有属性/字段。

    指定es.mapping.includees.input.json将忽略该功能。为了防止连接器索引隐式排除的数据,具有这些属性冲突的任何作业都将拒绝执行!

  • es.mapping.exclude(默认无)

    发送到Elasticsearch的文档中要排除的字段/属性。对于从实体中删除不需要的数据很有用。语法类似于Elasticsearch include / exclude的语法。可以使用逗号指定多个值。默认情况下,未指定任何值,表示不排除任何属性/字段。

    指定es.mapping.excludees.input.json将忽略该功能。为了防止连接器索引显式排除的数据,具有这些属性冲突的任何作业都将拒绝执行!

例如:

# 提取称为"UUID"领域的ID
es.mapping.id = uuid
​
# 指定父映射ID为'123'
es.mapping.parent = <123>
​
# 合并包含/排除以完全控制 
# 包含
es.mapping.include = u*, foo.*
# 排除
es.mapping.exclude = *.description

使用上面的配置,每个条目将只有其顶级字段,以文档中包含的u嵌套字段开头和嵌套字段foo,但名为的任何嵌套字段除外description。另外,文档父级将是123从字段中提取文档ID的时间uuid

2.5 字段信息(从Elasticsearch中读取时)

  • es.mapping.date.rich (默认为true)

    是为Elasticsearch中的字段创建丰富的 Date类似对象,Date还是将它们作为原语(Stringlong)返回。默认情况下为true。实际的对象类型基于所使用的库。noteable例外是地图/减少其提供没有内置Date对象,因此 LongWritableText无论此设置被返回。

  • es.read.field.include (默认为空)

    从Elasticsearch读取文档时解析并考虑的字段/属性。默认情况下为空,表示将考虑所有字段。请谨慎使用此属性, 因为它可能会产生不良的副作用。通常用于某些返回文档不适合预期映射的情况。

  • es.read.field.exclude (默认为空)

    从Elasticsearch读取文档时丢弃的字段/属性。默认情况下为空,表示不排除任何字段。请谨慎使用此属性, 因为它可能会产生不良的副作用。通常用于某些返回文档不适合预期映射的情况。

例如:

# 要排除的字段 company.income
es.read.field.exclude = company.income
  • es.read.field.as.array.include (默认为空)

    应视为数组/列表的字段/属性。由于Elasticsearch可以将一个或多个值映射到一个字段,因此elasticsearch-hadoop无法从映射中确定是实例化一个值还是数组类型(取决于库类型)。当遇到多个值时,elasticsearch-hadoop将自动使用数组/列表类型,但是在严格的映射方案(例如Spark SQL)中,这可能会导致意外的模式更改。语法类似于Elasticsearch include / exclude的语法。可以使用逗号指定多个值。默认情况下,未指定任何值,这意味着不包含任何属性/字段。

例如:

# 将nested.bar映射为数组
es.read.field.as.array.include = nested.bar
​
# 将nested.bar映射为3级/维数组
es.read.field.as.array.include = nested.bar:3
  • es.read.field.as.array.exclude (默认为空)

    不应视为数组/列表的字段/属性。与es.read.field.as.array.include上面类似。可以使用逗号指定多个值。默认情况下,未指定任何值,这意味着不排除任何属性/字段(并且由于如上所述未包含任何属性/字段),因此不会将任何字段预先视为数组。请注意,此设置不会影响嵌套字段,因为它们始终被视为数组。

2.6 元数据(从Elasticsearch读取时)

  • es.read.metadata (默认为false)

    是否在结果中包括文档元数据(例如ID和版本)(默认)。

  • es.read.metadata.field (默认_metadata)

    元数据信息所在的字段。当es.read.metadata设置为true时,将Map在指定字段下以形式返回信息。

  • es.read.metadata.version (默认为false)

    是否在返回的元数据中包括文档版本。仅在es.read.metadata启用时适用。

2.7 更新设置(在写入Elasticsearch时)

一种使用updateupsert操作的附加设置(与更新 API相似)可用:

  • es.update.script.inline (默认无)

    用于更新文档的内联脚本。

  • es.update.script.file (默认无)

    用于更新文档的文件脚本的名称。在6.x中删除了文件脚本,因此,如果将其用于6.x及更高版本的群集,则此属性将引发错误。

  • es.update.script.stored (默认无)

    用于更新文档的存储脚本的标识符。

  • es.update.script.lang (默认无)

    脚本语言。默认情况下,未指定应用节点配置的值。

  • es.update.script.params (默认无)

    脚本参数(如果有)。使用值的文档(当前已读取)字段/属性。要指定常量,请使用`格式。可以通过逗号(,`) 指定多个值

例如:

# 指定2个参数,一个参数从字段'number'中提取值,另一个参数包含值'123';
es.update.script.params = param1:number,param2:<123>
  • es.update.script.params.json

    rawJSON格式指定的脚本参数。指定的值将按原样传递,而无需任何进一步的处理或过滤。通常用于迁移现有更新脚本。

例如:

es.update.script.params.json = {"param1":1, "param2":2}
  • es.update.retry.on.conflict (默认为0)

    发生冲突时重试文档更新的次数。在并发环境中很有用。

3 高级设置

3.1 指数

  • es.index.auto.create (默认是)

    将数据写入Elasticsearch或失败时,elasticsearch-hadoop是否应创建索引(如果缺少索引)。

  • es.index.read.missing.as.empty (默认否)

    elasticsearch-hadoop是否允许读取不存在的索引(并返回空数据集)或不允许(并引发异常)

  • es.field.read.empty.as.null (默认是)

    elasticsearch-hadoop是否会将空字段视为null。通常不需要此设置(因为elasticsearch-hadoop已经处理了null情况),但是启用了此设置可以更轻松地处理尚未清除的文本字段。

  • es.field.read.validate.presence (默认警告)

    为了帮助找出从Hadoop查询数据时可能出现的错误(这会导致返回错误的数据),elasticsearch-hadoop可以执行验证以发现丢失的字段和潜在的错别字。可能的值为:

    • ignore

      没有执行验证

    • warn

      如果验证失败,则会记录一条警告消息

    • strict

      如果缺少字段,则会引发异常,从而停止工作

warn作业开始时,默认()会将任何输入记录到控制台:

WARN main mr.EsInputFormat - Field(s) [naem, adress] not found
   in the Elasticsearch mapping specified; did you mean [name, location.address]?
  • es.read.shard.preference (默认无)

    执行滚动查询时用于搜索操作的分片首选项的值。如果保留为空,则连接器将自动检测何时使用分片_local首选项。当您需要直接控制在哪些节点上执行搜索操作时,这在热/冷体系结构中最有用:

es.read.shard.preference = _only_nodes:abc*
  • es.read.source.filter (默认无)

    通常,当使用允许指定某种形式的架构(例如Hive)的集成时,连接器将自动从架构中提取字段名称,并仅向Elasticsearch请求这些字段以节省带宽。当使用利用任何数据模式(例如常规MR和Spark)的集成时,此属性允许您指定一个逗号分隔的字段名称字符串,您想从Elasticsearch返回。

    如果es.read.source.filter设置为,则在连接器尝试下推其他源字段筛选的情况下,将引发异常。在这些情况下,您应该清除此属性,并相信连接器知道应返回哪些字段。这在SparkSQL,Hive中以及在Pig中指定架构时发生。

User specified source filters were found [name,timestamp], but the connector is executing in a state where it has provided its own source filtering [name,timestamp,location.address]. Please clear the user specified source fields under the [es.read.source.filter] property to continue. Bailing out...
  • es.index.read.allow.red.status (默认为false)

    当执行从Elasticsearch读取的作业时,如果为读取提供的资源中包含缺少碎片的索引,这些碎片导致群集的状态为 red,则ES-Hadoop将通知您此状态并快速失败。在作业必须继续使用仍然可以访问的剩余可用数据的情况下,用户可以启用此属性来指示连接器忽略它无法访问的分片。

    使用es.index.read.allow.red.status可能导致作业在不完整的数据集上运行。与针对完全绿色或黄色群集执行的作业相比,针对红色群集执行的作业将产生不一致的结果。请谨慎使用此设置。

3.2 输入项

  • es.input.max.docs.per.partition

    从支持滚动切片的Elasticsearch集群(Elasticsearch v5.0.0及更高版本)中读取时,此参数会建议连接器每个输入分区应具有的最大文档数是多少。连接器将采样并估计要读取的每个分片上的文档数,并使用此属性提供的值将每个分片划分为输入切片。此属性是一个建议,而不是保证。不能保证每个分区的最终文档数都低于该数字,而是接近此数字。如果您正在从不支持滚动切片的Elasticsearch集群中读取(Elasticsearch v5.0.0以下的任何版本),则将忽略此属性。默认情况下,此值是未设置的,并且输入分区是基于要读取的索引中的分片数来计算的。

3.3 网络

  • es.nodes.discovery (默认为true)

    是在Elasticsearch集群中发现节点,还是仅使用给定es.nodes的元数据查询节点。请注意,此设置仅在启动期间适用;之后,在读写时,除非es.nodes.client.only启用,否则Elasticsearch-hadoop将使用目标索引分片(及其托管节点)。

  • es.nodes.client.only (默认为false)

    是否使用Elasticsearch 客户端节点(或负载均衡器)。启用后,elasticsearch-hadoop将通过集群内的客户端节点路由其所有请求(发现节点后,如果启用)。请注意,这通常会大大降低节点并行度,因此默认情况下将其禁用。启用它也会禁用(因为客户端节点是非数据节点)。 es.nodes.data.only

  • es.nodes.data.only (默认为true)

    是否仅使用Elasticsearch 数据节点。启用后,elasticsearch-hadoop将通过集群内的数据节点路由其所有请求(在发现节点后,如果启用)。此配置设置的目的是避免使非数据节点不堪重负,因为它们往往是“较小”的节点。默认情况下启用。

  • es.nodes.ingest.only (默认为false)

    是否仅使用Elasticsearch接收节点。当启用时,elasticsearch-的Hadoop将路由所有通过它的请求(节点后发现,如果使能)摄取集群中的节点。此配置设置的目的是避免招致从非摄取节点转发用于管道的数据的成本;仅在将数据写入Ingest Pipeline时才真正有用(请参见es.ingest.pipeline上文)。

  • es.nodes.wan.only (默认为false)

    该连接器是否用于WAN等云/受限环境中的Elasticsearch实例,例如Amazon Web Services。在此模式下,连接器禁用发现,并且es.nodes在所有操作(包括读写)期间通过声明的连接。请注意,在此模式下,性能会受到很大 影响。

  • es.nodes.resolve.hostname (默认值取决于)

    连接器是否应将节点主机名解析为IP地址。默认情况下,true除非wan启用了模式(请参见上文),否则它将默认为false。

  • es.http.timeout (默认为1m)

    HTTP / REST连接到Elasticsearch的超时。

  • es.http.retries (默认为3)

    建立(断开的)http连接的重试次数。重试适用于与Elasticsearch节点的每次对话。重试用尽后,连接将自动重新引到下一个可用的Elasticsearch节点(基于的声明es.nodes,后跟发现的节点-如果启用)。

  • es.scroll.keepalive (默认10m)

    结果的最大持续时间在查询请求之间滚动。

  • es.scroll.size (默认为50)

    每个请求每个人返回的结果/项目数。

  • es.scroll.limit (默认为-1)

    每个单独的滚动返回 的结果/项目数。负值表示应返回所有匹配的文档。请注意,这适用于通常绑定到其中一项任务的每个滚动。因此,返回的文档总数为LIMIT * NUMBER_OF_SCROLLS (OR TASKS)

  • es.action.heart.beat.lead (默认15秒)

    在Elasticsearch-hadoop通知Hadoop任务仍在运行以防止任务重新启动之前,导致任务超时。

3.4 设置HTTP请求头

  • es.net.http.header.[HEADER-NAME]

    通过使用es.net.http.header.前缀,您可以为从elasticsearch-hadoop向Elasticsearch发出的所有请求提供HTTP标头。请注意,一些标准的HTTP标头的连接器保留以确保正确操作,不能由用户设置或覆盖(AcceptContent-Type为实例)。

例如,在这里用户正在设置Max-ForwardsHTTP标头:

es.net.http.header.Max-Forwards = 10

3.5 安全设定

  • es.keystore.location

    安全设置密钥库文件的位置(通常是URL,不带前缀,它将被解释为类路径条目)。有关更多信息,请参见安全设置

3.6 基本认证

  • es.net.http.auth.user

    基本身份验证用户名

  • es.net.http.auth.pass

    安全可靠。基本验证密码

3.7 SSL协议

  • es.net.ssl (默认为false)

    启用SSL

  • es.net.ssl.keystore.location

    密钥库(如果使用)位置(通常是一个URL,不带前缀,它将被解释为类路径条目)

  • es.net.ssl.keystore.pass

    安全可靠。密钥库密码

  • es.net.ssl.keystore.type (默认为JKS)

    密钥库类型。PK12是一种常见的替代格式

  • es.net.ssl.truststore.location

    信任存储位置(通常为URL,不带前缀,将其解释为类路径条目)

  • es.net.ssl.truststore.pass

    安全可靠。信任库密码

  • es.net.ssl.cert.allow.self.signed (默认为false)

    是否允许自签名证书

  • es.net.ssl.protocol(默认TLS)

    使用的SSL协议

3.8 代理

  • es.net.proxy.http.host

    HTTP代理主机名

  • es.net.proxy.http.port

    HTTP代理端口

  • es.net.proxy.http.user

    HTTP代理用户名

  • es.net.proxy.http.pass

    安全可靠。HTTP代理密码

  • es.net.proxy.http.use.system.props(默认是)

    是否使用系统的Http代理属性(即http.proxyHosthttp.proxyPort

  • es.net.proxy.https.host

    HTTPS代理主机名

  • es.net.proxy.https.port

    HTTPS代理端口

  • es.net.proxy.https.user

    Https代理用户名

  • es.net.proxy.https.pass

    安全可靠。HTTPS代理密码

  • es.net.proxy.https.use.system.props(默认是)

    是否使用系统Https代理属性(即https.proxyHosthttps.proxyPort

  • es.net.proxy.socks.host

    HTTP代理主机名

  • es.net.proxy.socks.port

    HTTP代理端口

  • es.net.proxy.socks.user

    HTTP代理用户名

  • es.net.proxy.socks.pass

    安全可靠。HTTP代理密码

  • es.net.proxy.socks.use.system.props(默认是)

    是否使用系统的Socks代理属性(即socksProxyHostsocksProxyHost

elasticsearch-hadoop允许使用上述设置将代理设置仅应用于其连接。当已经有JVM范围的代理设置(通常通过系统属性)时,请格外小心,以避免意外行为。重要说明:这些属性的语义在JVM 文档中进行了描述。在某些情况下,设置JVM属性java.net.useSystemProxies 使其true工作得更好,然后再手动设置这些属性。

3.9 序列化

  • es.batch.size.bytes (默认为1mb)

    使用Elasticsearch 批量 API的批量写入的大小(以字节为单位)。请注意,批量大小是按任务实例分配的。始终乘以Hadoop作业中的任务数,以在运行时达到Elasticsearch的总批量大小。

  • es.batch.size.entries (默认为1000)

    使用Elasticsearch 批量 API的批量写入的大小(以条目为单位)-(0禁用它)。与的伴侣es.batch.size.bytes,一旦匹配,便执行批量更新。与大小类似,此设置是针对每个任务实例的。它在运行时乘以正在运行的Hadoop任务总数。

  • es.batch.write.refresh (默认为true)

    批量更新完成后 是否调用索引刷新。请注意,仅在执行整个写入(表示多次批量更新)后才调用此方法。

  • es.batch.write.retry.count (默认为3)

    给定批次的重试次数,以防Elasticsearch超载且数据被拒绝。请注意,仅重试拒绝的数据。重试执行后,如果仍然有数据被拒绝,则Hadoop作业将被取消(并失败)。负值表示无限次重试;设置该值时要小心,因为它可能会产生有害的副作用。

  • es.batch.write.retry.wait (默认10秒)

    由批量拒绝引起的批写入重试之间等待的时间。

  • es.ser.reader.value.class(默认*取决于使用的库*)

    ValueReader用于将JSON转换为对象 的实现的名称。这是由框架根据所使用的库(Map / Reduce,Hive,Pig等)设置的。

  • es.ser.writer.value.class(默认*取决于使用的库*)

    ValueWriter用于将对象转换为JSON 的实现的名称。这是由框架根据所使用的库(Map / Reduce,Hive,Pig等)设置的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值