问题标签 [elasticsearch-hadoop]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
scala - 无法通过 Elasticsearch-hadoop 库在多个 Spark 节点上的 RDD 上应用映射
我得到的错误是:
笔记
这只发生在我在 Spark 中使用主从模式时。在单个节点上它工作正常。
apache-spark - 将 Spark-Streaming 的输出的字段名称映射到 Elastic Search
我正在使用以下代码来存储 to 的Spark-Streaming
输出ElasticSearch
。我想将 spark-streaming 的输出映射到正确的 name i.e (Key, OsName, PlatFormName, Mobile, BrowserName, Count)
。但正如你所看到的,它目前被映射到 ES 中,如 _1 或 _2 等。此外,我想(if PlatFormName = "ubuntu" then index the data)
在 ES 中索引数据之前放置一些过滤器,即。那么,我该怎么做呢?
ElasticSearch 中的输出:
elasticsearch - 如何将 es.nodes 参数设置为 Spark 的多个 Elasticsearch 节点?
所以我想将来自多个 Elasticsearch 节点的数据读入 Spark。我更喜欢使用“es.nodes”参数并将“es.nodes.discovery”设置为false。此处描述了配置参数。我试图找到一些关于如何将“es.nodes”设置为值数组的示例,但我找不到。请帮忙。
elasticsearch - 使用 elasticsearch-hadoop-2.2 时,Elasticsearch 计数少于索引
我使用 elasticsearch-hadoop-2.2 创建了一个索引并将数据索引到其中。HQL 如下所示:
表 es_external_table 是外部表,hive_table1 是源表。我发现 hive_table1 中有 1332561 个项目。但是,elasticsearch 中只有 1332559 个文档。_count
API 和API都_search?search_type=count
返回 1332559。缺少两个文档。
我curl -XGET 'http://IP:9200/my_index/my_type/my_id?_source=false
用来检查 Elasticsearch 中的数据。并且my_id
来自 hive_table1,它也是 my_index/my_type 中的 _id。全部返回 1332561 "found":true
。
我很困惑。
- my_index/my_type 实际上有多少个文档?
- 如果有 1332561,为什么 API 返回
_count
1332559 ?search_type=count
- 如果有 1332559 个文档,则缺少哪些文档?
有什么建议吗?</p>
elasticsearch - elasticsearch-hadoop如何根据不同的ES集群创建两个RDD
我需要加入来自两个不同 ES 集群的两个 Rdd,但我发现我只能基于一个 ES 集群创建一个 SparkConf 和 SparkContext。例如如下代码:
那么如何从不同的 ES 集群创建两个 RDD 呢?
hadoop - 如何使用 elasticsearch hadoop 搜索多个索引
假设以下情况:我们有以下索引 index-1、index-2、index-4,是的,由于某种原因,'index-3' 被遗漏了,因为我在搜索期间不知道,所以我想搜索像“index-1,index-2,index-3,index-4”这样的索引模式,在http请求中,我可以设置选项“ignore_unavailable”来忽略丢失的索引。
但是如何使用“org.elasticsearch.hadoop.mr.EsInputFormat”达到同样的效果呢?如果我将 [es.resource.read] 设置为“index-1,index-2,index-3,index-4”,作业将因找不到索引异常而失败。将“es.index.read.missing.as.empty”设置为 true 时,即使索引模式中的某些索引存在,结果也会变为空。
scala - 如何使用 Elasticsearch Hadoop 获取术语向量
我正在使用 ElasticSearch-Hadoop API。我试图_mtermvector
通过使用以下 Spark 代码来获得:
没用,请大家多多指教,不胜感激!
java - Spark (Java) 到 Elasticsearch
我正在测试从 csv 加载数据到 spark,然后将其保存在 Elasticsearch 中,但是我在使用 spark 将我的 RDD 集合保存在 Elasticsearch 中时遇到了一些麻烦。提交作业时会引发此错误:
但是我的依赖项应该是正确的,因为我使用 Maven 编译...
我的 pom.xml 在这里: http: //pastebin.com/b71KL903。
当我到达这一行时,会引发错误:
我的其余代码在这里: http: //pastebin.com/8yuJB68A
我已经搜索过这个问题,但没有找到任何东西: https ://discuss.elastic.co/t/problem-between-spark-and-elasticsearch/51942 。
https://github.com/elastic/elasticsearch-hadoop/issues/713。
https://github.com/elastic/elasticsearch-hadoop/issues/585。
我刚刚了解到:出现“ClassNotFoundException”是因为 Spark 将在发生异常时立即关闭其作业类加载器,因此任何其他需要加载的类都将失败,从而导致隐藏初始错误。
但我不知道如何进行。我使用详细模式提交了我的工作,但没有看到其他任何内容: http: //pastebin.com/j6zmyjFr
感谢您的进一步帮助:)
apache-spark - Spark Web UI "take at SerDeUtil.scala:201" 解释
我通过使用 python 中的 elasticsearch-hadoop 连接器(导入 pyspark)从 Elasticsearch 加载数据来创建 Spark RDD:
现在,如果我的文件中只有这 2 个命令并运行它,那么在 Spark Web UI 上的应用程序详细信息中,我会在工作中看到:take at SerDeUtil.scala:201
我现在有两个问题:
1)我的印象是,在 Spark RDD 中是惰性计算的,即,如果没有应用任何操作,则不会启动任何作业。在上述场景中,我没有应用任何操作,但我看到一个作业正在 Web UI 上运行。
2)如果这是一个工作,这个"take"
操作实际上意味着什么?这是否意味着数据实际上是从我的 ElasticSearch 节点加载并传递给 Spark 节点的?我理解一些工作被列为收集、计数等,因为这些是 Spark 中的有效操作。然而,即使经过大量研究,我仍然无法弄清楚这个take
操作的语义。