【发布时间】:2022-02-02 22:44:21
【问题描述】:
我在 elasticsearch 中加载了一个数据库,我想从 KNIME 访问它以创建推荐系统。如何连接这两个应用程序?
【问题讨论】:
-
据我所知,Knime for ES 中还没有连接器,但您可以使用REST node。另一个值得研究的连接器:cdata.com/kb/tech/elasticsearch-jdbc-knime.rst
标签: elasticsearch knime
我在 elasticsearch 中加载了一个数据库,我想从 KNIME 访问它以创建推荐系统。如何连接这两个应用程序?
【问题讨论】:
标签: elasticsearch knime
您可以在 knime 中使用 python 代码来完成。 代码在上面
from pandas import DataFrame
output_table = DataFrame()
from elasticsearch import Elasticsearch
import json
import pandas as pd
esclient = Elasticsearch(['http://XX.YYYY.ZZZ.TTT:9200'])
response = esclient.search(
index='rtimlog-2018.11.02',
body={
"query": {
"match": {
"message.eventParameters.Msisdn.keyword": {
"query": "532XXXXX",
}
}
}
}
)
columns=['A']
df = pd.DataFrame( columns=columns)
for hit in response['hits']['hits']:
X= json.dumps(hit['_source']['message'])
df.loc[i]=X
output_table = df
【讨论】:
这是一个较旧的主题,当时有 REST、Python 或 JDBC 解决方法。依稀记得REST方式是fiddly,因为KNIME不支持GET带body的请求。
幸运的是,现在有一个专用的商业扩展支持读写 Elasticsearch(当前版本 6 和 7)。
您可以在这里找到更多信息:https://nodepit.com/product/elasticsearch
【讨论】: