如何在EsgynDB中使用机器学习库

机器学习(ML)库正变得越来越流行,现在有各种各样的这类库-维基百科中提及了49个。这些机器学习库需要庞大的数据,通常此类数据是存储在关系型数据库中的业务数据,比如存放在EsgynDB或以其他形式存储在Hadoop数据湖中。简单的集成-JDBC和HDFS有多种方法连接机器学习库和EsgynDB。其中一种方法是使用JDBC,这是大多数软件包支持的方法。

三大处理模块为了创建这样的设置,我们结合了三大处理模块:首先,机器学习程序将dataframe作为输入并产生dataframe作为输出。该程序编写类似MapReduce中的mapper或reducer,所以以上程序的多个实例可以并行运行,而无需在实例之间交换状态信息。例如,程序可以对逻辑上独立的数据运行聚类算法。Dataframe是几个ML包中涉及的概念,它大致相当于SQL中的一个表。

最后,我们添加一个驱动查询(drivingquery)来完整机器学习场景。该驱动查询产生机器学习程序所需的数据,调用用户定义函数(UDF),并以用户期望的方式处理UDF的结果。当机器学习程序像reducer一样工作时,驱动查询还定义了如何进行数据分区。如果机器学习库不支持可横向扩展集群(例如R),这可以让您在更大的数据集上并行地运行算法。

例子:TensorFlow神经网络以GoogleTensorFlow中识别手写数字作为神经网络示例,我们在一台单独的机器上训练这个神经网络,然后将它部署到EsgynDB,我们用EsgynDB来并行读取数字。此示例的驱动SQL查询如下:

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180929A048QN00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券