阿里云计算平台,阿里实时计算开发平台
整理若明
出品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、容器工具pocket和JStorm(基于Java的Apache Storm版本)。
关于 Alink 的使用问题
Q:
能否连接远程 Flink 集群进行计算?
答:可以通过方法:useremoteenv (host,port,parallelism,Flinkhome=none,localip= localhost ,shipalinkalgojar=true,config=none)连接到已经启动的Flink集群。其中的参数
主机端口和主机端口代表集群的地址;
并行度表示执行作业的并行度;
FlinkHome是flink的完整路径,默认路径是PyAlink自带的flink-1 . 9 . 0;
LocalIp指定了实现Flink数据流打印预览功能所需的本地Ip地址,需要Flink集群访问。默认值为localhost。
shipAlinkAlgoJar是否将PyAlink提供的Alink算法包传输到远程集群?如果远程集群已经放置了Alink算法包,可以将其设置为False以减少数据传输。
Q:
如何停止长时间运行的Flink作业?
答:使用本地执行环境时,使用Notebook提供的Stop按钮即可。使用远程集群时,需要使用集群提供的停止作业功能。
Q:
能否直接使用 Python 脚本而不是 Notebook 运行?
甲:当然可以。但是需要在代码末尾调用resetEnv(),否则脚本不会退出。
使用步骤
使用前准备:
确保使用环境中有Python3,版本=3.5;
需要根据Python版本下载相应的pyalink包(见GitHub);下载链接);
使用easy_install安装easy _ install[存储路径]/pyalink-0.0.1-py3。*.egg .注意:
如果以前已经安装了pyalink,请使用pip uninstall pyalink卸载以前的版本。
如果有多个版本的Python,可能需要使用特定版本的easy_install,比如easy_install-3.7。
如果您使用Anaconda,您需要在Anaconda命令行中安装它。
开始使用:
阿里推荐通过Jupyter笔记本使用PyAlink,可以获得更好的体验。
皮亚林克
使用步骤:
在命令行上启动Jupyter:jupyter Notebook,并为Python 3创建一个新的笔记本。
导入pyalink包:从pyalink.alink导入*。
使用方法创建本地运行时环境:uselocalenv (parallelism,flinkhome=none,config=none)。其中,parallelism参数表示用于执行的并行度;FlinkHome是flink的完整路径,默认路径是PyAlink自带的flink-1 . 9 . 0;Config是Flink接受的配置参数。运行后,将出现以下输出,表明运行环境的初始化成功:
JVM侦听***
Python监听*** 4。开始编写PyAlink代码,例如:
source=csvourcebatchop()。setSchemaStr( sepal _ length double,sepal_width double,petal_length double,petal_width double,category string),)。setfile path( http://alink-dataset . cn-Hangzhou . OSS . aliyun-Inc . com/CSV/iris . CSV )
RES=source . select( sepal _ length , sepal_width )
df=res.collectToDataframe()
打印(df)
编写代码:
在PyAlink中,算法组件提供的接口与Java API基本相同,即默认构造方法创建一个算法组件,然后通过setXXX设置参数,通过link/linkTo/linkFrom与其他组件连接。在这里,Jupyter的自动补全机制可以提供书写便利。
对于批处理作业,可以通过批处理组件的print/collecttodataframe/collecttodataframes或BatchOperator.execute()等方法触发执行;对于流式作业,通过StreamOperator.execute()启动作业。
如何在集群上运行Alink算法
1.准备Flink集群
https://archive.apache.org/dist/flink/flink-1.9.0/flink-1.9.0- WGET隐形煎蛋-scala_2.11.tgz
Tar -xf flink-1.9.0-隐形煎蛋-scala_2.11.tgz cd flink-1.9.0。/隐形煎蛋/start-cluster.sh2 .准备Alink算法包。
git克隆https://github.com/alibaba/Alink.git
CD alink mvn-d maven . test . skip=true clean包Shade: Shade3。运行Java示例。/隐形煎蛋/flink run-P1-c com . Alibaba . alink . als example[path _ to _ alink]/examples/target/alink _ examples-0.1-snapshot . jar
#./隐形煎蛋/flink run-p2-c com . Alibaba . alink . gbd example[path _ to _ alink]/examples/target/alink _ examples-0.1-snapshot . jar
#./隐形煎蛋/flink run-p2-c com . Alibaba . alink . kmeansexample[path _ to _ alink]/examples/target/alink _ examples-0.1-snapshot . jar(*本文为AI技术大本营,转载请联系微信1092722531。