跳至主要內容
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?

4563博客

全新的繁體中文 WordPress 網站
  • 首頁
  • 菜鸟问下 ELK、知识图谱、推荐算法相关的应用问题
未分類
8 11 月 2020

菜鸟问下 ELK、知识图谱、推荐算法相关的应用问题

菜鸟问下 ELK、知识图谱、推荐算法相关的应用问题

資深大佬 : ashiamd 0

最近有需求,需要做一个日志分析系统=>打算用 Elastic Stack ( ELK+B )来实现,但是本人还在学习阶段,只知道 B 用来数据获取,L 用于数据过滤,E 用于搜索+分析,K 用于数据可视化。

一、个人理想计划如下: ( 1 ) nginx 端 或 具体 java 后端进程产生的 log 日志 -> 用 Beats 相关技术监听 nginx 的 HTTP 请求 or 获取 java 日志文件;接着 beats 传递数据到 kafka 消息队列

( 2 )从 kafka 中消费数据,数据给 logstash 进行数据过滤(变成简单格式,比如 IP:HTTP 方法( POST 等):具体方法:{参数列表之类的};接着 logstash 再将过滤后的数据给另一个 kafka 队列

( 3 )从 kafka 消费数据,数据给 ElasticSearch,进行数据分析,然后 Kiana 数据可视化。

总体:nginx/java 进程 日志来源 -> beats -> kafka -> logstash -> kafka -> ElasticSearch -> Kibana

二、问题 ( 1 )我自己想得比较理想,但据说不适合用 ElasticSearch 当作存储,但是居然要分析,不就不得不把数据加载到内存上的 ES 上吗?有什么避免内存占用过大的方法吗?

( 2 )上面只想了 ELK 进行日志分析,但是后续需要根据 ELK 的日志分析来进行 一些产品之类的东西的推荐,也就是涉及推荐系统的搭建,个人想法就是可能可以根据日志的用户行为,构建 图数据库,然后根据图数据库进行用户的产品推荐之类的。不知道这种想法可行不可行。

( 3 )请教一下各位看官,ELK (正在学)、图数据库(了解过,没用过)、推荐算法(这个没了解过),是不是这几个部分就能够实现以下几个事情了?(日志可视化、用户行为分析、用户产品推荐)

ps:本人比较菜,ELK 、图数据库相关概念稍有了解,但是推荐算法纯不知道。

大佬有話說 (7)

  • 資深大佬 : Morriaty

    1. 先用最简单的 ELK,docker 现成的,kafka 都不要,快速验证快速试错
    2. 真要认真做推荐系统当然是要上 Hadoop 、spark 这些的,一般成熟的系统也是 online/nearline/offline 多层架构的,数据层比算法层重要
    3. 大数据开发、知识图谱、搜索推荐,每个都是要求很高的,如果是一个人做,玩玩就好,不要期望太高….

  • 主 資深大佬 : ashiamd

    感谢回复,那意思是如果不上大数据技术的话,现阶段先只考虑 ELK 的日志行为分析就最可行的方案?如果图数据库和推荐系统需要大数据技术支持的话,那确实现阶段学习可能吃不消(内容太多了)。

    再次感谢。那我现阶段就:
    ( 1 )先考虑 ELK 使用(我本地也是用 docker,但是某些参数可能设置有些问题=>之后再自己解决)
    ( 2 )构建整个完整的日志处理流程
    ( 3 )考虑 LogStash 过滤后在 ElasticSearch 上存储的数据结构设计
    ( 4 )根据“有用”的信息(能看出平台用户爱好趋向等信息)构建 kibana 视图。

    根据以上流程,至少小目标应该能根据用户日志,大致通过 kibana 的图表等内容来人为分析出平台用户爱好、流量走向等关键信息。

  • 主 資深大佬 : ashiamd

    @Morriaty 感谢回复,刚才没点到 @符号,上补了一条回复。

  • 資深大佬 : yisany

    log -> beats -> logstash -> kafka -> es
    beats 是能够直接对接到 logstash 的, 不需要 kafka 做中转(当然也可以用).
    同时 es 虽然全文搜索很强, 但你如果要用来做数据分析, 是不如 olap 数据库的

  • 資深大佬 : Morriaty

    搜索推荐是非常面向业务的,你要先想好你想关心的数据,然后再去反推你的 scheme / mapping 设计,比如:

    1. 用户关心的热门内容,那就需要从日志里抽取至少 content_id, user_id, tags,目前的数据里有 tags 吗?如果没有,或者数据量不足,怎么抽取呢?
    2. 用户的兴趣变化,那要再加个 timestamp 字段,上周还没人阅览的内容,这周暴增了十倍

    诸如此类

  • 主 資深大佬 : ashiamd

    @yisany 感谢回复,我学的东西比较少,第一次听说 OLAP 这个词,查了下,貌似 V2EX 里有人也有过类似问题。
    [OLAP 数据库推荐]( https://www.v2ex.com/t/705920)
    看了下方有人选择了 Druid,说是 java 写的?或许我可以去了解了解。(之前项目里用的 Druid 连接池,我还以为这个就是个连接池,原来 Apache Druid 是个数据库)

  • 主 資深大佬 : ashiamd

    @Morriaty 好的,感谢你的宝贵意见。
    ( 1 ) tags,数据库现在还没有确定下来,不过居然现在知道需要 tags 了,之后就可以考虑在哪些内容上加了。(貌似之后会有业务是注册登录后,先让用户选择几个感兴趣的标签=>现在很多 app 、网站的常见模式)
    ( 2 )时间戳 timestamp,这个我之前还真没考虑过。确实如果没有时间因素的话,就没法看出用户兴趣变化了。(这方面第一次接触,还是没能想全)

文章導覽

上一篇文章
下一篇文章

AD

其他操作

  • 登入
  • 訂閱網站內容的資訊提供
  • 訂閱留言的資訊提供
  • WordPress.org 台灣繁體中文

51la

4563博客

全新的繁體中文 WordPress 網站
返回頂端
本站採用 WordPress 建置 | 佈景主題採用 GretaThemes 所設計的 Memory
4563博客
  • Hostloc 空間訪問刷分
  • 售賣場
  • 廣告位
  • 賣站?
在這裡新增小工具