我们在前面介绍过Edge2AI自动驾驶汽车的解决方案,参见《Edge2AI自动驾驶汽车:在小型智能汽车上收集数据并准备数据管道》,《Edge2AI自动驾驶汽车:构建Edge到AI数据管道》,《Edge2AI自动驾驶汽车:训练模型并将其部署到边缘》,《Edge2AI自动驾驶汽车教程》,《Edge2AI自动驾驶汽车教程1:在边缘提取汽车传感器数据》。在这里我们从实操教程的角度来看如何一步一步的构建Edge2AI自动驾驶汽车的应用。在上一教程中,我们从安装在智能车辆上的传感器收集了数据,并建立了一条管道来对数据进行建模,以用于训练机器学习(ML)模型。本节我们将展示从边缘到CDF的数据流。数据采用图像和与CSDV收集的每个图像相关联的元数据的形式(例如,IMU信息,转向角和位置),我们将把数据流引向CDH集群,在该集群中将存储和管理数据使用它来训练模型的目的。
• 在Cloudera DataFlow集群上部署的CEM
• 完成了本教程系列的第一部分
我们将使用Cloudera Edge Manager(CEM)在aws ec2实例上的云中运行的交互式UI中构建NiFi数据流。该数据流将用于从MiNiFi代理提取数据,转换数据以将CSV和图像数据路由到在另一个ec2实例上运行的HDFS。
• Cloudera Flow Manager在8080/nifi/端口上运行
• <cem-ec2-public-dns>:8080/nifi/
通过SSH进入运行NiFi的EC2实例:
ssh -i /path/to/pem_file <os-name>@<public-dns-ipv4>
# download hdfs core-site.xml
mkdir -p /tmp/service/hdfs/
cd /tmp/service/hdfs/
wget https://raw.githubusercontent.com/hortonworks/data-tutorials/dev/tutorials/cdf/edge2ai-autonomous-car/assets/services/hadoop_hdfs/core-site.xml
在core-site.xml的以下字段中输入您的CDH公用主机名:
<property>
<name>fs.defaultFS</name>
<value>hdfs://{CDP Public DNS}:8020</value>
</property>
保存core-site.xml。
从 MiNiFi Agent 添加 CSV 数据输入的输入端口
我们将在上一节中创建的输入端口用作进入NiFi的流程的入口点:
注意:请注意端口详细信息下的输入端口ID,因为CEM UI需要使用它来将MiNiFi处理器连接到NiFi RPG。
保存 CSV 输入端口 ID 以用于 MiNiFi CEM Flow
注意:如果您尚未在minifi流中添加csv数据的进口端口ID,请将该ID用作minifi流。
连接 CSV 并将其加载到 HDFS
在画布上添加PutHDFS处理器以存储行驶日志数据。将处理器名称更新为PutCsvHDFS。
更新以下处理器属性:
表5:更新PutCsvHDFS属性
属性 |
值 |
---|---|
Hadoop Configuration Resources |
/tmp/service/hdfs/core-site.xml |
Directory |
/tmp/data/input/racetrack/image/ |
将AWS_MiNiFi_CSV输入端口连接到PutCsvHDFS处理器:
添加用于从 MiNiFi Agent 提取图像数据的输入端口
如果尚未添加输入端口以从MiNiFi提取图像数据:
请注意端口详细信息下的输入端口ID,因为CEM UI需要它。
保存 MiNiFi CEM Flow 的图像输入端口 ID
注意:如果您尚未在minifi流中添加图像数据的输入端口ID,请将该ID用作minifi流。
连接图像并将其加载到 HDFS
在画布上添加PutHDFS处理器以存储行驶日志数据。将处理器名称更新为PutImgHDFS。
表6:更新以下处理器属性:
属性 | 值 |
---|---|
Hadoop Configuration Resources |
/tmp/service/hdfs/core-site.xml |
Directory |
/tmp/data/input/racetrack/image/logitech |
将AWS_MiNiFi_IMG输入端口连接到PutImgHDFS处理器:
使用ctrl+A或突出显示NiFi画布上的所有组件cmd+A,然后在操作面板中按开始按钮:
您应该看到如上所述从NiFi到HDFS的数据流。
注意:如果看不到数据流,请返回CEM UI,确保已将流连接到该NiFi远程实例。还要确保MiNiFi代理正在运行。您可能会看到的潜在错误无法忽略,这很可能意味着您使用了错误的core-site.xml。您应该确保是否需要在CDH上搜索来自客户端(例如cdsw-client)的core-site.xml,并且对于PutHDFS,以下错误应该消失了:
本教程更详细地解释了什么是Cloudera DataFlow及其组成部分,它们是构建从边缘到AI的桥梁时必不可少的工具。在本教程的部分中,我们将回顾Cloudera Data Science Workbench的好处,并使用它来构建模型,该模型将使用CDF和我们今天学到的概念重新部署到我们的汽车中。
来源:https://www.cloudera.com/tutorials/edge2ai-autonomous-car/2.html
本文分享自微信公众号 - 大数据杂货铺(bigdataGrocery)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。
来源:oschina
链接:https://my.oschina.net/u/4579720/blog/4354309