DataWorks百问百答42:如何自动同步IoT系统新生成文件至MaxCompute?

本文涉及的产品
大数据开发治理平台DataWorks,Serverless资源组抵扣包300CU*H
简介: 如何自动同步IoT系统新生成文件至MaxCompute

背景:

物联网(The Internet of Things,简称IOT)是指通过各种信息传感器等各种装置与技术,实时采集任何需要的各种信息,通过各类可能的网络接入,实现物与物、物与人的泛在连接,实现对物品和过程的智能化感知、识别和管理。其是一个基于互联网、传统电信网等的信息承载体,它让所有能够被独立寻址的普通物理对象形成互联互通的网络。
物联网、大数据和云计算作为当前第三次信息化浪潮的代表技术,将在未来形成广泛的影响。物联网专注于物物相连,大数据专注于数据的价值化,而云计算则为大数据和物联网提供计算资源等服务支持。
大数据是物联网体系的重要组成部分。物联网的体系结构分成六个部分,分别是设备、网络、平台、分析、应用和安全,其中分析部分的主要内容就是大数据分析。大数据分析是大数据完成数据价值化的重要手段之一,而进行数据分析的第一步就是要使数据能够上云。

解决方案

整条链路的关键步骤可以分为原始数据的存储,以及数据进入分析系统两大步。
存储方面IoT设备大量的数据通常情况下都会被以半结构化的形式,比如存储为CSV文件用以保留原始信息。这块可以利用阿里云的OSS来做存储获得较好的性能和量价比。但对于数据进入到大数据系统或者传统数据库来说急需要有专业数据同步系统。下图给出了一个非常典型的解决方案图,使用DataWorks的数据集成(Data Integration)来完成数据从OSS进入到大数据系统的过程。具体参考“向导模式配置任务”以及读取OSS写入MaxCompute,或者写入其他类型的数据源中
image.png

流程自动化配置

使用OSS读取CSV文件时,如下图需要配置读取的文件名
image.png

但是一般情况下IoT的数据都是在不停地生成,并且落地为csv文件,如果手工去配置对应的同步任务,并且将这些csv文件一个个的读取到云上(在此示例中使用MaxCompute),那将是一个非常繁琐,甚至是不可能完成的任务,比如这些csv文件每5分钟就生成一份,如何将这些csv能够自动同步到MaxCompute中?下面教给大家具体操作方法。

Step0.方案规约

1、OSS上的文件需要按时周期性生成。

由于DataWorks本身可以按照时间来周期调度,所以可以利用这点,周期性的启动同步任务,每次启动时读取不同的问题。方案就是DataWorks任务的调度周期和OSS上生成的文件同步,比如OSS上的文件都是每15分钟生成一份,DataWorks上的同步任务也设置为每15分钟调度一次。

2、生成的文件名需要利用时间戳来命名

OSS同步任务读取文件时需要明确OSS文件的名称,但是我们使用参数变量来动态的生成文件名,为了使同步任务自动生成的文件名可以跟OSS上文件名一致,需要IoT向OSS生成文件时,也使用同样的规律命名。推荐使用yyyymmddhhmm这样的时间戳作为文件名的一部分,其他部分保持不变。比如是iot_log_201911062315.csv。

Step1.文件名使用参数变量

image.png
如上图,将文件名的时间戳部分作为变量,使用一个参数来代替。${...}就是参数,里面写上参数名,这个名称可以自定义,此处定义为filename。
然后在调度配置面板中写下这个参数变量的变量值:(这里使用了自定义变量,具体用法非常灵活,可以参考:调度参数中的自定义参数部分。)

filename=$[yyyymmddhh24mi]

如下图,
image.png
此处自定义变量$[yyyymmddhh24mi]的含义为精确到分的时间戳,比如201911062315(2019年11月6日23点15分),202005250843(2020年5月25日08点43分),201912012207(2019年12月1日22点7分)。

Step2.设置周期调度

image.png
如上图,这里面是周期调度最关键的参数。
调度周期:选择“分钟”
开始时间和结束时间根据自己实际的情况来设置时间范围
时间间隔:根据自己业务情况,进行选择,这点就上面说的,一定要和参数时间戳和任务命名范围保持一致。即如果OSS里的文件是每15分钟生成一个文件,则时间间隔也定为15。

Step3.发布任务

image.png
如图点击"发布"将任务发布,然后在运维页面“周期任务”和“周期实例”中检查生成的任务和实例是否符合需求。
image.png

至此就完成了整个OSS自动同步的步骤。

DataWorks百问百答历史记录 请点击这里查看>>

更多DataWorks技术和产品信息,欢迎加入【DataWorks钉钉交流群】

相关实践学习
基于MaxCompute的热门话题分析
本实验围绕社交用户发布的文章做了详尽的分析,通过分析能得到用户群体年龄分布,性别分布,地理位置分布,以及热门话题的热度。
一站式大数据开发治理平台DataWorks初级课程
DataWorks 从 2009 年开始,十ー年里一直支持阿里巴巴集团内部数据中台的建设,2019 年双 11 稳定支撑每日千万级的任务调度。每天阿里巴巴内部有数万名数据和算法工程师正在使用DataWorks,承了阿里巴巴 99%的据业务构建。本课程主要介绍了阿里巴巴大数据技术发展历程与 DataWorks 几大模块的基本能力。 课程目标  通过讲师的详细讲解与实际演示,学员可以一边学习一边进行实际操作,可以深入了解DataWorks各大模块的使用方式和具体功能,让学员对DataWorks数据集成、开发、分析、运维、安全、治理等方面有深刻的了解,加深对阿里云大数据产品体系的理解与认识。 适合人群  企业数据仓库开发人员  大数据平台开发人员  数据分析师  大数据运维人员  对于大数据平台、数据中台产品感兴趣的开发者
相关文章
|
3月前
|
数据采集 存储 数据处理
数据平台问题之知识管理系统的效果如何评估
数据平台问题之知识管理系统的效果如何评估
|
3月前
|
分布式计算 DataWorks 关系型数据库
MaxCompute 生态系统中的数据集成工具
【8月更文第31天】在大数据时代,数据集成对于构建高效的数据处理流水线至关重要。阿里云的 MaxCompute 是一个用于处理大规模数据集的服务平台,它提供了强大的计算能力和丰富的生态系统工具来帮助用户管理和处理数据。本文将详细介绍如何使用 DataWorks 这样的工具将 MaxCompute 整合到整个数据处理流程中,以便更有效地管理数据生命周期。
122 0
|
1月前
|
传感器 存储 架构师
构建基于 IoT 的废物管理系统:软件架构师指南
构建基于 IoT 的废物管理系统:软件架构师指南
72 9
|
1月前
|
JSON 分布式计算 大数据
大数据-85 Spark 集群 RDD创建 RDD-Action Key-Value RDD详解 RDD的文件输入输出
大数据-85 Spark 集群 RDD创建 RDD-Action Key-Value RDD详解 RDD的文件输入输出
31 1
|
1月前
|
消息中间件 Java 大数据
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
大数据-56 Kafka SpringBoot与Kafka 基础简单配置和使用 Java代码 POM文件
65 2
|
1月前
|
设计模式 NoSQL 网络协议
大数据-48 Redis 通信协议原理RESP 事件处理机制原理 文件事件 时间事件 Reactor多路复用
大数据-48 Redis 通信协议原理RESP 事件处理机制原理 文件事件 时间事件 Reactor多路复用
37 2
|
1月前
|
消息中间件 资源调度 大数据
大数据-112 Flink DataStreamAPI 程序输入源 DataSource 基于文件、集合、Kafka连接器
大数据-112 Flink DataStreamAPI 程序输入源 DataSource 基于文件、集合、Kafka连接器
41 0
|
1月前
|
消息中间件 分布式计算 Kafka
大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流
大数据-99 Spark 集群 Spark Streaming DStream 文件数据流、Socket、RDD队列流
30 0
|
3月前
|
存储 SQL 分布式计算
Hadoop生态系统概述:构建大数据处理与分析的基石
【8月更文挑战第25天】Hadoop生态系统为大数据处理和分析提供了强大的基础设施和工具集。通过不断扩展和优化其组件和功能,Hadoop将继续在大数据时代发挥重要作用。
|
3月前
|
分布式计算 搜索推荐 物联网
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决
大数据及AI典型场景实践问题之通过KafKa+OTS+MaxCompute完成物联网系统技术重构如何解决

相关产品

  • 大数据开发治理平台 DataWorks