StreamSets实战之路(十三)-实战篇- 采集新浪财经实时新闻

主要通过一个新浪财经实时新闻采集的案例来介绍Streamsets(3.20.0 汉化版)的使用,主要包括数据采集、网页数据解析、数据检测、数据入库、邮件通知等。

学习目的:使用streamset实现网络数据的定时爬取、学习一些组件的使用、学习使用邮件组件、数据解析组件、分流组件、http client组件、调度器组件、ES入库组件等。

前一段时间因为工作较忙,没来及时更新,趁着假期准备一下,感觉还是要坚持的,也感谢很多网友的支持。

数据流视图:

 

最终数据流的效果图:

采集数据用Kibana展示的效果:

前期准备:

1.搭建一个ES和kibana系统,并创建索引:

{

  "sina_livenews" : {

    "mappings" : {

      "properties" : {

        "create_time" : {

          "type" : "date",

          "format" : "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"

        },

        "id" : {

          "type" : "long"

        },

        "rich_text" : {

          "type" : "text",

          "analyzer" : "ik_smart"

        },

        "tag" : {

          "properties" : {

            "id" : {

              "type" : "keyword"

            },

            "name" : {

              "type" : "keyword"

            }

          }

        },

        "type" : {

          "type" : "long"

        },

        "update_time" : {

          "type" : "date",

          "format" : "yyyy-MM-dd HH:mm:ss||yyyy-MM-dd||epoch_millis"

        },

        "zhibo_id" : {

          "type" : "long"

        }

      }

    }

  }

}

2.在streamset启动前配置一个邮件配置项

在etc/sdc.properties配置一下邮件,这里我用的是我自己的qq邮箱

在etc/email-password.txt中配置邮箱密码。

构建步骤:

1.新建数据流,点击保存,进入数据流构建页面

2.下面对构建好的数据流中的重点组件做介绍:

(1)调度器组件

主要用来采集的频率,这里规定频率为每2分钟采集数据,根据需求可以定制,不建议采集过于频繁。

(2)调度器组件

    配置一下采集网页地址,请求头。

         配置数据的格式,并配置是否是压缩数据和解析数据的长度。这里因为我们采集到的是字符串数据,所以我配置为文本,最大长度1024000000。

(3)截取字符串提取JSON数据

    将JSON字符串转换为JSON对象数据

 

(4)提取真正关注的那部分数据

(5)从ES中查看采集到的数据是否已经入库

配置一下ES的连接,查询、用户名密码等等

(6)分流器筛选

    使用分流器将不在ES中的数据传下去,在ES中的直接丢弃掉。

(7)使用JSON 生成插件将tag字符转化成一个JSON字符串,以备后面做字符串匹配使用。

(8)保留最终想要的数据,去除一些其他无关的数据。

(9)配置邮件插件

(10)将数据写入ES中

配置一些ES的地址,索引名等,和用户信息

(11)最后校验数据流,校验成功后启动数据流。

 

Streamsets实战之路正在更新中,尽情期待!!!

 

此文章为博主原创,转载请标明出处和原始链接,谢谢。

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值