相关文章推荐
绅士的茴香  ·  mysql - Slow query ...·  1 年前    · 
细心的匕首  ·  vue-router ...·  2 年前    · 
爱跑步的冰棍  ·  python-try-except:pass ...·  2 年前    · 

整理 | 若名

出品 | AI科技大本营(ID:rgznai100)

近日,阿里云计算部门已在 GitHub 上发布了其 Alink 平台的“核心代码”,并上传了一系列算法库,它们支持批处理和流处理,这对支持机器学习任务至关重要。

Alink 是基于 Flink 的通用算法平台,由阿里巴巴计算平台 PAI 团队研发。除了支持阿里自己的平台外,还支持 Kafka,HDFS 和 HBase 等一系列开源数据存储平台。

阿里云计算和机器智能部门表示,开发者和数据分析师可以利用开源代码来构建软件功能,例如统计分析、机器学习、实时预测、个性化推荐和异常检测。而 Alink 提供的一系列算法,可以帮助处理机器学习任务,例如 AI 驱动的客户服务和产品推荐。

开源算法列表

阿里巴巴集团副总裁、阿里云智能计算平台事业部总裁、高级研究员贾扬清指出,对于寻求大数据和机器学习工具的开发人员而言,Alink 将是一个新的选择。

在他看来,作为中国企业是GitHub上十大贡献者之一,阿里致力于在软件开发周期中尽早与开源社区建立联系。而在 GitHub 上开源 Alink 遵循了这一承诺。

阿里目前已将 Alink 部署到其旗下电子商务平台天猫上。今年“双11”期间,单日数据处理量达到 970PB,每秒处理峰值数据高达 25 亿条,Alink 帮助天猫产品推荐的点击率提高了 4%。

迄今为止,阿里的开发人员在过去八年中为整个开源社区贡献了 180 多个项目,包括云基础架构、机器学习、数据库和网络。阿里巴巴的开放源代码计划包括基于 MySQL 的 AliSQL,容器工具 Pouch 和 JStorm(基于Java的 Apache Storm 版本)。

关于 Alink 的使用问题

Q: 能否连接远程 Flink 集群进行计算?

A:通过方法可以连接一个已经启动的 Flink 集群:useRemoteEnv(host, port, parallelism, flinkHome=None, localIp="localhost", shipAlinkAlgoJar=True, config=None)。其中,参数

  • host 和 port 表示集群的地址;

  • parallelism 表示执行作业的并行度;

  • flinkHome 为 flink 的完整路径,默认使用 PyAlink 自带的 flink-1.9.0 路径;

  • localIp 指定实现 Flink DataStream 的打印预览功能时所需的本机IP地址,需要 Flink 集群能访问。默认为localhost。

  • shipAlinkAlgoJar 是否将 PyAlink 提供的 Alink 算法包传输给远程集群,如果远程集群已经放置了 Alink 算法包,那么这里可以设为 False,减少数据传输。

Q: 如何停止长时间运行的Flink作业?

A:使用本地执行环境时,使用 Notebook 提供的“停止”按钮即可。使用远程集群时,需要使用集群提供的停止作业功能。

Q: 能否直接使用 Python 脚本而不是 Notebook 运行?

A:可以。但需要在代码最后调用 resetEnv(),否则脚本不会退出。

使用前准备:

  1. 确保使用环境中有Python3,版本>=3.5;

  2. 需要根据 Python 版本下载对应的 pyalink 包(下载链接参见GitHub);

  3. 使用 easy_install 进行安装 easy_install [存放的路径]/pyalink-0.0.1-py3.*.egg。需要注意的是:

  • 如果之前安装过 pyalink,请先使用 pip uninstall pyalink 卸载之前的版本。

  • 如果有多个版本的 Python,可能需要使用特定版本的 easy_install,比如 easy_install-3.7。

  • 如果使用 Anaconda,则需要在 Anaconda 命令行中进行安装。

开始使用:

阿里推荐通过 Jupyter Notebook 来使用 PyAlink,能获得更好的使用体验。

pyAlink

使用步骤:

  1. 在命令行中启动Jupyter:jupyter notebook,并新建 Python 3 的 Notebook 。

  2. 导入 pyalink 包:from pyalink.alink import *。

  3. 使用方法创建本地运行环境:useLocalEnv(parallism, flinkHome=None, config=None)。其中,参数 parallism 表示执行所使用的并行度;flinkHome 为 flink 的完整路径,默认使用 PyAlink 自带的 flink-1.9.0 路径;config为Flink所接受的配置参数。运行后出现如下所示的输出,表示初始化运行环境成功:

JVM listening on ***
Python listening on ***

4.开始编写 PyAlink 代码,例如:

source = CsvSourceBatchOp()\
.setSchemaStr("sepal_length double, sepal_width double, petal_length double, petal_width double, category string")\
.setFilePath("http://alink-dataset.cn-hangzhou.oss.aliyun-inc.com/csv/iris.csv")
res = source.select("sepal_length", "sepal_width")
df = res.collectToDataframe()
print(df)

编写代码:

在 PyAlink 中,算法组件提供的接口基本与 Java API 一致,即通过默认构造方法创建一个算法组件,然后通过 setXXX 设置参数,通过 link/linkTo/linkFrom 与其他组件相连。这里利用 Jupyter 的自动补全机制可以提供书写便利。

对于批式作业,可以通过批式组件的 print/collectToDataframe/collectToDataframes 等方法或者 BatchOperator.execute() 来触发执行;对于流式作业,则通过 StreamOperator.execute() 来启动作业。

如何在集群上运行Alink算法

1.准备Flink集群

 wget https://archive.apache.org/dist/flink/flink-1.9.0/flink-1.9.0-bin-scala_2.11.tgz
tar -xf flink-1.9.0-bin-scala_2.11.tgz && cd flink-1.9.0
./bin/start-cluster.sh

2.准备Alink算法包

 git clone https://github.com/alibaba/Alink.git
cd Alink && mvn -Dmaven.test.skip=true clean package shade:shade

3.运行Java示例

 ./bin/flink run -p 1 -c com.alibaba.alink.ALSExample [path_to_Alink]/examples/target/alink_examples-0.1-SNAPSHOT.jar
# ./bin/flink run -p 2 -c com.alibaba.alink.GBDTExample [path_to_Alink]/examples/target/alink_examples-0.1-SNAPSHOT.jar
# ./bin/flink run -p 2 -c com.alibaba.alink.KMeansExample [path_to_Alink]/examples/target/alink_examples-0.1-SNAPSHOT.jar

(*本文为AI科技大本营整理文章, 转载 请微信联系 1092722531)

开幕倒计时6天 |2019 中国大数据技术大会(BDTC)即将震撼来袭!豪华主席阵容及百位技术专家齐聚,十余场精选专题技术和行业论坛,超强干货+技术剖析+行业实践立体解读。 6.6 折票限时特惠(立减1400元)倒计时 3 天,学生票仅 599 元!

你点的每个“在看”,我都认真当成了AI

整理 |若名出品 |AI科技大本营(ID:rgznai100)近日,阿里云计算部门已在 GitHub 上发布了其 Alink 平台的“核心代码”,并上传了一系列算法库,它们支持批处理...
用户画像,作为一种勾画目标用户、联系用户诉求与设计方向的有效工具,用户画像在各领域得到了广泛的应用。用户画像最初是在电商领域得到应用的,在大数据时代背景下,用户信息充斥在网络中,将用户的每个具体信息抽象成标签,利用这些标签将用户形象具体化,从而为用户提供有针对性的服务。还记得年底收到的支付宝年度消费账单吗?帮助客户回顾一年的消费细节,包括消费能力、消费去向、信用额度等等,再根据每位客户的消费习惯,量身定制商品 推荐 列表……这一活动,将数据这个量化的词以形象生动的表现手法推到了大众面前。这就是用户画像在电商领域的一个应用,随着我国电子商务的高速发展,越来越多的人注意到数据信息对于电商市场的推动作用。基于数据分析的精准营销方式,可以最大限度的挖掘并留住潜在客户,数据统计与分析为电商市场带来的突破不可估量。在大数据时代,一切皆可“量化”,看似普通的小小数字背后,蕴藏着无限商机,也正在被越来越多的企业所洞悉。如何从大数据中挖掘商机?建立用户画像和精准化分析是关键。什么是用户画像呢?用户画像是根据市场研究和数据,创建的理想中客户虚构的表示。创建用户画像,这将有助于理解现实生活中的目标受众。企业创建的人物角色画像,具体到针对他们的目标和需求,并解决他们的问题,同时,这将帮助企业更加直观的转化客户。用户画像最重要的一个步骤就是对用户标签化,我们要明确要分析用户的各种维度,才能确定如何对用户进行画像。用户画像建立步骤首先,基础数据收集,电商领域大致分为行为数据、内容偏好数据、交易数据,如浏览量、访问时长、家具偏好、回头率等等。而金融领域又有贷款信息,信用卡,各种征信信息等等。然后,当我们对用户画像所需要的基础数据收集完毕后,需要对这些资料进行分析和加工,提炼关键要素,构建可视化模型。对收集到的数据进行行为建模,抽象出用户的标签。电商领域可能是把用户的基本属性、购买能力、行为特征、兴趣爱好、心理特征、社交网络大致的标签化,而金融风控领域则是更关注用户的基本信息,风险信息,财务信息等等。随后,要利用大数据的整体架构对标签化的过程进行开发实现,对数据进行加工,将标签管理化。同时将标签计算的结果进行计算。这个过程中需要依靠Hive,Hbase等大数据技术,为了提高数据的实时性,还要用到F link ,Kafka等实时计算技术。最后,也是最关键的一步,要将我们的计算结果,数据,接口等等,形成服务。比如,图表展示,可视化展示。基于F link +A link 构建全端亿级实时用户画像系统课程,将带领大家一步一步实现一个强大的实时用户画像系统,该系统以热门的互联网电商实际业务应用场景为案例讲解,具体包含:标签管理(支持动态标签扩展,动态标签指标)、用户预测、用户群体画像、用户行为画像、用户中心、几大内容。本课程采用全新的大数据技术栈:F link +A link ,让你体验到全新技术栈的强大,感受时代变化的气息,通过学习完本课程可以节省你摸索的时间,节省企业成本,提高企业开发效率。本课程包含的技术: 开发工具为:IDEA、WebStorm F link 1.13.0A link 1.5.0 ClickHouseDolphinSchedulerHadoopHbaseKafkaZookeeper SpringBoot2.0.8.RELEASE SpringCloud Finchley.SR2BinlogCanal MySQL MybatisVue.js、Nodejs、ElementUI 课程亮点: 1.与企业接轨、真实工业界产品2.标签化管理模块功能,支持动态标签扩展3.动态标签指标分析和维护4.A link 算法 技术框架 5.大数据热门技术F link 新版本 6.主流微服务后端系统 7.数据库实时同步解决方案 8.涵盖主流前端技术VUE+NodeJS+ElementUI 9.集成SpringCloud实现统一整合方案 10.互联网大数据企业热门技术栈 11.支持海量数据的实时画像 12.支持全端实时画像 13.全程代码实操,提供全部代码和资料 14.提供答疑和提供企业技术方案咨询
一、 阿里 A link is the Machine Learning algorithm platform based on F link , developed by the PAI team of Alibaba computing platform. 开源 地址:https://github.com/alibaba/A link This project Angel is a high-...
带来一个全 开源 平台 来研究数据结构和 算法 :high_voltage:NeoAlgo-Docs带来一个全 开源 平台 来研究数据结构和 算法 :high_voltage::wrench:安装您需要安装NodeJS和Yarn,如果还没有这样做的话但是-在这里和这里开始。 然后,按照以下步骤操作:down_arrow:$ git clone [受电子邮件保护]:TesseractCoding / NeoAlgo-Docs.git $ cd NeoAlgo-Docs $ yarn $ yarn start最后,导航至http:// localhost:3000,您应该看到我们的应用程序是现在启动并运行:high_voltage: 这是在证券交易所自动进行交易所需的全部程序。 创建机器人的层类似于Wealth-Lab脚本和Ninja脚本。 这很简单。 我们不会在每个版本中都对其进行更改,并且支持向后兼容。 数据-下载历史数据的程序。 通过该程序,您可以从各种来源获得蜡烛,市场深度和交易。 优化程序-为策略选择最佳参数的程序。 测试器-交换模拟器。 该程序可在一个投资组合中同时测试多种策略的历史记录。 支持同时翻译多个时间范围和多种工具。 矿工-在图表上搜索有利可图的程序。 手动和自动。 在计算机上使用Bigdata。 在该程序的帮助下发现的形态可以被引入交易中。 机器人站-在行业中运行机器人的程序。 可用的国际连接 互动经纪人 MOEX的可用连接 SmartCom Transaq