【流数据存储之Elasticsearch】作者:LX
一、 环境搭建
1、 启动Spark集群服务
1)启动Spark集群
文章插图
2)子节点加入集群
文章插图
3)查看是否加入成功
文章插图
2、启动Elasticsearch数据库
1)可以启动自己安装的Elasticsearch数据库
2)也可以启动iServerDataStore , 默认会启动一个Elasticsearch数据库
二、 创建流处理模型
流模型的创建有两种方式:
(一) 流处理模型编辑器
1、使用浏览器访问http://localhost:8090/iserver/manager , 登陆SuperMapiServer管理页面 , 点击【服务】-> 【概述】 ->【配置流数据服务】 。
文章插图
2、添加接收器
1)接收器介绍
接收器类型(9种接收器):
-
- SocketReceiver:Socket客户端接收器 , 接收Socket消息的节点 。
- MultiSocketReceiver:Socket多客户端接收器 , 同时接收多个Socket消息的节点 , 接收的消息内容必须是相同的 。
- SocketServerReceiver:Socket服务接收器 , Socket服务端接收节点 , 用于作为服务端接收其他Socket客户的发送的消息 。
- WebSocketReceiver:WebSocket接收器 , 接收WebSocket消息的节点 。
- TextFileReceiver:文本文件接收器 , 监控指定目录 , 读取新增文件的内容 。
- SingleTextFileReceiver:单文本文件接收器 , 根据设置读取监控文件的内容 , 支持读取Json、GeoJSON和CSV格式的文件 。
- KafkaReceiver:Kafka接收器 , 接收kafka消息的节点 。
- HttpReceiver:Http接收器 , 接收HTTP 的消息节点 , 目前只支持HTTP的Get方法 。
- JMSReceiver:JMS接收器 , 接收JMS标准协议消息的节点 , 用于接收ActiveMQ、RabbitMQ等消息中间件的消息
2)添加接收器
本文以读取iServer示范数据flights.csv文件为例 , 所以需要将“接收器”中“单文本接收器” , 用鼠标拖到“节点编辑器”中 。如下图所示:
文章插图
3)编辑节点信息
文章插图
PS:
i.文件路径必须写绝对路径 , 不能写相对路径 。
ii.metadata , 是接收消息的元数据 , 用于描述消息的格式定义 。需指定以下信息:
title:元数据的名称 , 用于区分其他元数据 。String类型
featureType:FeatureType类 。接收消息转换的地理要素类型 , 如点POINT、线LINE、面REGION等 。
epsg:int类型 。元数据地理要素的投影EPSG编码 。
fieldInfos:接收消息转换后的字段信息 。需指定:
name:String类型 。字段名称 , 为字段的唯一标识
source:String类型 。字段在原始信息中的位置 , 决定了从原始信息中的什么位置去解析成为本字段的值 。成为本字段的值 。如果原始信息为CSV 格式 , source值为 CSV 中的字段序号 , 如"source": "4" 代表了CSV 数据中的第5 个字段;如果原始数据为json 格式的 , 那么source 值为 json中键值对的键 。
nType:FieldType类型 。字段的类型 , 如:字符型TEXT、双精度浮点型DOUBLE、整型 INT等
本文元数据的配置如下:
根据CSV中字段内容:
T0000,121.465069,29.824944,1.49370399857E12,Lishe,Jiangbei,2017-09-1302:53:47
从“FieldInfo-0”到“FieldInfo-6”依次填写以下内容:
文章插图
将鼠标放到“元数据”的“StreamingMetadata”标签上 , 可以看到上一步的详细配置信息,确认信息无误后 , 点击“检查并返回”按钮 。
推荐阅读
- BI数据可视化工具使用技巧
- 这个数据可视化软件我用一次就爱上了
- 什么是理想的数据中台架构
- Redis 有哪些数据类型?
- 使用 IDEA 解决 Java8 的数据流问题,用过的都说好
- mysql数据库的主从同步,实现读写分离
- 百度联盟深挖流量价值
- 常用数据结构
- 推荐系统概述和主流模型介绍
- 手机游戏|“中考不再分流”是误读,面对职校学习,《职业教育法》要了解