加入收藏 | 设为首页 | 会员中心 | 我要投稿 核心网 (https://www.hxwgxz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 教程 > 正文

HBase在人工智能场景的使用

发布时间:2018-11-23 09:00:25 所属栏目:教程 来源:明惠
导读:近几年来,人工智能逐渐火热起来,特别是和大数据一起结合使用。人工智能的主要场景又包括图像能力、语音能力、自然语言处理能力和用户画像能力等等。这些场景我们都需要处理海量的数据,处理完的数据一般都需要存储起来,这些数据的特点主要有如下几点:

上面 HBase 表的列簇名为c,我们使用人脸id作为列名。我们只使用了 HBase 的一张表就替换了之前方面的三张表!虽然我们启用了 MOB,但是具体插入的方法和正常使用一样,代码片段如下:

  1. String CF_DEFAULT = "c"; 
  2. Put put = new Put(groupId.getBytes()); 
  3. put.addColumn(CF_DEFAULT.getBytes(),faceId1.getBytes(), feature1.getBytes()); 
  4. put.addColumn(CF_DEFAULT.getBytes(),faceId2.getBytes(), feature2.getBytes()); 
  5. …… 
  6. put.addColumn(CF_DEFAULT.getBytes(),faceIdn.getBytes(), featuren.getBytes()); 
  7. table.put(put); 

用户如果需要根据人脸组id获取所有人脸的数据,可以使用下面方法:

  1. Get get = new Get(groupId.getBytes()); 
  2. Result re=table.get(get); 

这样我们可以拿到某个人脸组id对应的所有人脸数据。如果需要根据人脸组id+人脸id查找某个人脸的具体数据,看可以使用下面方法:

  1. Get get = new Get(groupId.getBytes()); 
  2. get.addColumn(CF_DEFAULT.getBytes(), faceId1.getBytes()) 
  3. Result re=table.get(get); 

经过上面的改造,在2台 HBase worker 节点内存为32GB,核数为8,每个节点挂载四块大小为 250GB 的 SSD 磁盘,并写入 100W 行,每行有1W列,读取一行的时间在100ms-500ms左右。在每行有1000个face的情况下,读取一行的时间基本在20-50ms左右,相比之前的10s提升200~500倍。

下面是各个方案的对比性能对比情况。

HBase在人工智能场景的使用

使用 Spark 加速数据分析

我们已经将人脸特征数据存储在阿里云 HBase 之中,这个只是数据应用的第一步,如何将隐藏在这些数据背后的价值发挥出来?这就得借助于数据分析,在这个场景就需要采用机器学习的方法进行聚类之类的操作。我们可以借助 Spark 对存储于 HBase 之中的数据进行分析,而且 Spark 本身支持机器学习的。但是如果直接采用开源的 Spark 读取 HBase 中的数据,会对 HBase 本身的读写有影响的。

针对这些问题,阿里云 HBase 团队对 Spark 进行了相关优化,比如直接读取 HFile、算子下沉等;并且提供全托管的 Spark 产品,通过SQL服务ThriftServer、作业服务LivyServer简化Spark的使用等。目前这套 Spark 的技术栈如下图所示。

HBase在人工智能场景的使用

通过 Spark 服务,我们可以和 HBase 进行很好的整合,将实时流和人脸特征挖掘整合起来,整个架构图如下:

HBase在人工智能场景的使用

我们可以收集各种人脸数据源的实时数据,,经过 Spark Streaming 进行简单的 ETL 操作;其次,我们通过 Spark MLib 类库对刚刚试试收集到的数据进行人脸特征挖掘,最后挖掘出来的结果存储到 HBase 之中。最后,用户可以通过访问 HBase 里面已经挖掘好的人脸特征数据进行其他的应用。

【编辑推荐】

  1. Accordion:HBase的 “呼吸式”内存压缩算法
  2. HBase从入门到精通系列:误删数据如何抢救?
  3. HBase高性能随机查询之道 – HFile原理解析
  4. 如何使用HBase?大数据存储的两个实战场景
  5. HBase相对Hive查询速度快的对比
【责任编辑:未丽燕 TEL:(010)68476606】
点赞 0

(编辑:核心网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读