大數據

大數據

带你读《Blockly创意趣味编程》之一:Blockly概述

点击查看第二章点击查看第三章Blockly创意趣味编程 周庆国 崔向平 郅 朋 编著 01 Blockly概述● 学习目标理解Blockly的概念、编程方式。掌握在线版和离线版Blockly的使用。掌握Blockly各个模块的功能。● 知识图谱 在本章中,我们将学习什么是Blockly及其编程方式、在线版与离线版的Blockly的使用方式以及各个模块的功能。学习完本章的内容后,我们将对Blockly有一个整体的了解。 1.1 什么是Blockly Blockly是一种可视化编程工具,也是众多可视化编辑工具的鼻祖。2012年6月,Google发布了完全可视化的编程语言Google Blockly。Blockly代码块由类似于积木的图形对象构成。使用者通过拖动鼠标,就可以将这些“?代码积木?”拼接起来,创造出简单的功能,然后将一个个简单功能组合起来,最终构建出一个程序。相较于传统字符型的编程语言,Blockly语言无须大家考虑命令行模式下复杂的语法规则,学习成本更低,趣味性更强。1.一种基于网页的可视化程序Google Blockly是基于网页的可视化编程工具库,用户可以以离线或者在线的方式,在Windows、Linux和Android等平台上使用Blockly进行编程操作。2.多种开发语言环境库Blockly基于图形化编程设计,可以导出JavaScript、Python、PHP、Lua、Dart等多种语言。在Blockly中有一个类似语言转换器的工具箱,可以将图形化编程语言转换成多种编程语言代码,有助于用户通过图形化编程方式理解多种程序语言。3.开源的自定义编程环境Blockly是开源的编程工具,用户可以根据自己的需求对Blockly工具箱进行自定义设计。同时,Blockly开发工具能将用户自定义的块添加至工具箱,并在工作区工厂完成对代码的封装,如图1-1所示。 1.2 Blockly编程环境 Blockly有在线版和离线版两个版本,在浏览器的地址栏输入https://developers.google.cn/blockly/ ,访问Blockly官网,即可体验Blockly在线编程,如图1-2所示。 离线版的Blockly无须安装,只需要在解压文件后,进入Demos并打开index.html文件,选择相应的选项即可体验。在Linux系统中,可下载TAR Ball,在终端解压文件即可;在Windows系统中,则下载ZIP File并解压即可。下载地址如下:Github Blockly地址:https://github.com/google/blockly 。TAR Ball地址:https://github.com/google/blockly/tarball/master […]

大數據

今天,为阿里工程师疯狂打call!| 开发者必读(100期)

最炫的技术新知、最热门的大咖公开课、最有趣的开发者活动、最实用的工具干货,就在《开发者必读》! 每日集成开发者社区精品内容,你身边的技术资讯管家。 每日头条 今晚为阿里工程师疯狂打call! 2019 天猫双1196秒成交额破100亿 全球最大流量洪峰每秒订单峰值54.4万笔 阿里巴巴核心系统100%上云 我们扛住了! 最强干货 带你上手一款下载超 10 万次的 IDEA 插件 Cloud Toolkit 是本地 IDE 插件,帮助开发者更高效地开发、测试、诊断并部署应用。通过插件,可以将本地应用一键部署到任意服务器,甚至云端(ECS、EDAS、Kubernetes

大數據

在吗?0代码加速查询MaxCompute请查收!

HoloStudio是基于交互式分析的一站式开发平台,深度集成于DataWorks上,可将数据无缝对接到DataWorks的数据服务API、数据集成、调度等模块,完成对数据的进一步加工和探索。(关于HoloStudio与交互式分析的关系,可以参见《交互式分析六脉神剑》之HoloStudio初体验)交互式分析与MaxCompute在底层打通,能直接查询MaxCompute数据,实现秒级交互式反应。今天小编就为大家介绍,如何快速开通使用HoloStudio,并利用HoloStudio实现0代码加速查询MaxCompute。具体操作步骤如下 开通交互式分析实例 在使用HoloStudio之前,需要至交互式分析官网购买一个实例,当前交互式分析正在火热公测中,可免费购买。 创建/绑定项目空间 实例开通完成之后,可在管控台查看当前实例的信息和开通状态。使用HoloStudio之前,需要将实例绑定至DataWorks工作空间。 无DataWorks工作空间 若您无DataWorks项目空间,需要在管控台创建工作空间。管控台左侧菜单了选择工作空间列表,单击创建工作空间,填写基本配置选择计算引擎:因需要加速查询MaxCompute数据,所以也建议开通MaxCompute计算引擎(若您之前已开通MaxCompute服务,可不选择)填写完工作空间信息,单击创建工作空间即可完成创建。 有DataWorks工作空间 若您在此之前已开通DataWorks工作空间,可使用该工作空间绑定交互式分析实例。进入DataWorks,单击左上角小扳手工作空间配置–计算引擎信息–交互式分析–增加实例,填写实例信息。第一次绑定数据库请使用postgres(交互式分析实例购买成功后系统会默认生成一个名叫postgres的数据库,该数据库资源小,可在绑定后新建数据库。)测试连通性显示通过表明已成功将交互式分析实例绑定至该工作空间下,可前往HoloStudio进行使用。 0代码加速查询MaxCompute数据 在HoloStuido中支持一键创建外部表,直接查询MaxCompute表数据。具体操作步骤如下: 1.准备MaxCompute数据源 可直接搜索数据地图中的表进行查询,也可使用建表语句建表,示例选用MaxCompute示例建表,并导入数据。其语句如下: CREATE TABLE IF NOT EXISTS bank_data (

大數據

带你读《ONAP技术详解与应用实践》之三:ONAP架构设计

点击查看第一章点击查看第二章 第3章 ONAP架构设计本章首先介绍ONAP架构在设计之初的目标与理念,包括要解决什么问题、需要具备哪些核心能力、相应的架构设计理念和设计原则是什么等。对于模型驱动等重要设计原则,还辅以具体示例,包括ONAP的实现流程与模型定义示例。理解这些设计理念与原则后,再一步步介绍ONAP的架构、ONAP的各组件与项目归类。最后介绍ONAP是如何构筑安全与可信的代码质量的,包含思路与落地方法等。本章会涉及软件开发与过程管理的常见术语,但会尽量以通俗易懂的方式进行介绍,具有一定的开发经验的人理解本章内容会更容易些。 3.1 ONAP架构理念 相对以往OSS架构,ONAP架构理念有如下创新点: 借鉴了互联网软件设计的先进理念,提出设计态与运行态的概念。 基于模型驱动的设计框架,在ONAP各项目中落地数据驱动能力,同时提供一个策略驱动的运营管理平台,支持根据资源占用与故障情况,动态实现闭环自动化。 考虑到部分运营商可能面临的复杂场景(覆盖服务、网络、云交付等全生命周期),ONAP设计了分层的自动化框架,分别提供跨域、无状态的“编排器”项目,以及面向单领域,有状态进行编排控制的、更高效的“控制器”项目,所有模块都是服务化设计,方便按需定制与部署。 在上述基础上,还借鉴了软件领域的优秀架构设计理念与原则,最终的ONAP架构蓝图是所有这些有机结合的产物。社区专门成立了ONAP架构委员会,负责管理架构理念和原则。本节将介绍如下重要设计理念:业务无关的平台(Vendor & Service Agnostic厂商与业务无关)、开放性、闭环自动化及DevOps的理念。 3.1.1 业务无关的平台 ONAP定位为自动化使能平台,要能让不同运营商根据自身需要灵活定制,而不受具体厂商、业务、场景的限制。社区UseCase的目标主要是展示ONAP作为平台的能力,并不追求开发面向特定场景的完整功能实现。也就是说,ONAP不像Linux或OpenStack那样,版本发布后就是一个直接可用的软件产品,或可直接用于特定网络上,开展与UseCase对应业务的生产化部署;ONAP的版本发布仅表明已在特定UseCase下验证了ONAP作为平台的功能,商业部署仍须在此基础上进行开发与定制。不同版本的功能增强,原则上由UseCase驱动开发,但在具体实现中,会将UseCase特有实现(插件、业务定义,策略定义等)与平台实现分离。社区也创建了CLAMP项目,专门保存UseCase特有的闭环设计输出。 3.1.2 开放性 社区致力于创建一个开放可编程的软件生态,体系结构支持随时采用业界最佳组件、部件(不耦合特定软件产品或云平台环境或特定编程语言或编程框架),ONAP各模块也都设计成可插拔的,以方便替换与升级。当前ONAP涉及的编程语言超过50种,既有常见的Java、JSON、JavaScript、C、Python等,也有Go、Lua、Erlang等。编程框架有Spring、Sphinx、Hibernate、Tomcat、ODL、OSGI等多种。当然社区也在牵引归一化,以减少学习与维护成本,比如推动相似的数据库归一,如MySQL、PostreSQL、MariaDB。开放性的另一个隐藏理念则是“共享”:常用功能或组件鼓励开发成“一次开发、多次使用”,避免重复开发,鼓励在前人基础上进行开发,比如CCSDK项目(控制器层公共服务Common Controller SDK)目的就是将不同领域控制器中的可重用组件与服务汇总起来,以便根据需要定制出符合自身要求的控制器,简化与加速领域专用的控制器开发。 3.1.3 闭环自动化 CloseLoop闭环自动化(或叫闭环控制)在工业、科研等很多领域都有定义。在ONAP语境中,闭环自动化表示端到端、无人工介入、全流程自动化,且支持动态变更。它是由许多设计态和运行态元素间的协作完成的。运行态闭环始于DCAE(接收相应事件),然后经过微服务循环(如用于事件与拓扑关联的Homles项目、用于决定动作策略的Policy项目),最后由控制器和编排器执行对应动作。CLAMP用于监视这些循环本身。CLAMP、Policy和DCAE都可以在设计态中创建循环。图3-1是闭环自动化示意图,显示了使用自动化功能后业务生命周期内的不同阶段。

大數據

带你读《Python数据分析与数据化运营(第2版)》之一:Python和数据化运营

点击查看第二章点击查看第三章Python数据分析与数据化运营(第2版) 宋天龙 著 第1章 Python和数据化运营 数据化运营是提高利润、降低成本、优化运营效率、最大化企业财务回报的必要课题。Python作为数据科学界的关键工具之一,几乎可以应用于所有数据化运营分析和实践的场景。本章将首先介绍Python与数据化运营的基本内容,然后围绕数据化运营分析所需的Python相关工具进行介绍,最后通过一个入门级别的案例,介绍如何将Python用于数据化运营。 1.1 用Python做数据化运营 Python是什么?数据化运营又是什么?为什么要将Python用于数据化运营?本节先来回答这几个问题。 1.1.1 Python是什么 Python是一种面向对象的解释型计算机程序设计语言,由荷兰人Guido van Rossum于1989年发明,第一个公开版发行于1991年。Python开发的初衷其实是一个开发程序语言,而非专门用于数据工作和科学计算的数据处理或建模程序(当然,现在已经是了)。为什么我们要选择Python而非其他语言(例如R)进行数据处理、分析和挖掘呢?这是因为Python先天和后天具有的一些特殊条件和能力,使其成为目前企业(尤其是大数据领域)做数据化运营最为合适的工具。 开源/免费:使用Python(及其第三方库)无须购买产品、授权或license费用,无论对于个人还是对于企业都是如此。 可移植性:Python程序可以跨Windows、Linux、Mac等多平台运行,这点决定了它的移植性非常强,一次开发,多平台应用。 丰富的结构化和非结构化数据工作库和工具:Python除了自带数学计算库外,还包括丰富的第三方库和工具,例如用于连接Oracle、MySQL、SQLite等数据库的连接库,数据科学计算库Numpy、Scipy、Pandas,文本处理库NLTK,机器学习库Scikit-Learn、Theano,图形视频分析处理和挖掘库PIL和Opencv,以及开源计算框架TensorFlow等。 强大的数据获取和集成能力:Python除了可以支持多种类型的文件(图像、文本、日志、语音、视频等)和数据库集成外,还能通过API、网络抓取等方式获取外部数据,内、外部数据源整合、多源数据集成、异构数据并存、多类型数据交错正是当前企业数据运营的基本形态。 海量数据的计算能力和效率:当面对超过GB甚至TB规模的海量数据时,传统数据工具通常无法支撑,更不要提计算效率了。Python对于这个规模数据的计算能力和工作效率要远超过其他数据工作语言。 与其他语言的集成:Python具备“胶水”能力,能与Java、C、C++、MATLAB、R等语言集成使用,这意味着既可以把其他语言写成的脚本嵌入Python,也可以把Python脚本嵌入其他语言。 强大的学习交流和培训资源:Python已经成为世界上最主流的编程语言和数据处理工作的核心工具之一,有非常多的社区、博客、论坛、培训机构、教育机构提供交流和学习的机会。 开发效率高:Python语言简洁、规范,使得在使用Python开发程序时用时更少。这对于以效率优先的程序工作或验证性项目来说非常关键,效率决定商机。 简单易学:Python语法简单,即使是没有任何代码基础的人也能在几个小时内掌握基本的Python编程技巧,这对于初学者而言至关重要,因为这说明编程式数据分析不再遥不可及,他们能像使用Excel一样使用Python。

大數據

序列模式挖掘在用户行为分析中的应用

作者:闲鱼技术-楚丰 背景 在互联网产品中,用户行为分析,通常是指通过统计、分析用户在产品上的各种行为事件,挖掘、发现出有用的信息,为产品的设计,运营策略提供有意义的依据。 通常,用户行为分析包含以下流程: 数据埋点 数据采集 数据清洗 数据展现 在闲鱼中,我们有海量用户埋点数据,这些数据信息量丰富,但是却很少有效地利用起来: 利用率低:埋点数据量大并且非常杂乱,通常都只是某个特定场景下,会统计某些特定埋点数据 数据太“原始”:通常埋点都是某个页面曝光、某个点击事件等等,这些事件维度“低”,单用这些埋点不能表达某些“高纬”的事件,比如“点击搜索框->输入文字->进入搜索结果页->点击搜索结果”为一次完整搜索商品行为。 那么针对这些原始埋点,我们是否能够通过算法处理,抽象出更高纬的用户行为数据,并且利用这些数据,挖掘出有用的信息呢? 本文我们将分享闲鱼在用户行为分析中,利用“序列模式挖掘”所做的的一些尝试和应用。 1.什么是“用户行为” 一般我们将用户行为定义为:由一系列的行为事件所串联成的序列。这个定义在不同的“粒度”上有不同的解释,比如粗粒度上来看,“搜索商品”->”聊天“->“下单”为一个用户行为,其中“搜索商品”是一个行为事件。 但是从细粒度上来看,“搜索商品”包含了多个更小的事件,比如“点击搜索框->输入文本->点击搜索按钮->查看搜索结果”等,从细粒度上这几个事件同样可以定义为行为事件,此时“搜索商品”就变成了一个用户行为。 因此,分析用户行为,要先看我们从哪个维度上进行分析。 在这篇文章,我们将行为事件定义为“页面跳转”和“按钮点击”两类事件,而用户行为则是“多个行为事件”根据时间顺序串联起来的序列。 对应到到数据形式上,每一个“页面跳转”都对应一个埋点,每一个“按钮点击”也都对应一个埋点,因此,用户行为分析,实际上也就变成了:埋点序列分析。 2.什么是“序列模式挖掘”

大數據

分享你的花样DataV

致阿里云DataV的开发者们 不管是可视化界面编辑大神,还是可视化界面编辑小菜鸡,还是卡在大神和小菜鸡中间的格子衬衫小哥哥,都要注意啦! 使用DataV制作的完美级可视化大屏找不到可以分享的知己? 秒做高逼格大屏,制作界面从无烦恼,是不是想得到崇拜的眼神? 常常踩坑,这怎么搞,臣妾真的做不到,太“南”了,跪求大神? 遇到不顺手的配置时,没有地方吐槽,只能深夜跟自己的发际线过不去? 嗯,现在机会来了,我们把话筒交给你们! 投稿你与DataV的“爱恨情仇”就有机会获得丰富的奖品! 活动规则:投稿分享制作的有趣DataV界面,或者是制作可视化界面的教程、或者是与DataV的各种“爱恨情仇”等等。根据排名给参与者赠送丰富礼品。 评选规则:根据帖子的内部官方评分x50%+帖子本身浏览量评分x50%的维度进行排名。(注:投稿帖子需要涉及DataV,内容不得涉及负面信息) 参与方式:在云栖社区论坛帖评论区(即本文下方评论区)留下你的投稿信息。 投稿形式:以名字+阿里云userid(一串数字)+投稿链接的形式在云栖社区的论坛帖评论区(即本文下方评论区)进行评论,或者发送至邮箱[email protected]。(投稿链接可以是各社交平台、技术平台等等) 活动时间:11月7号-11月24号礼物寄送*活动收尾:12月11号-12月15号 奖品情况: 有疑问的小伙伴可以加钉钉群进行咨询哦!钉钉群号:23317648赶紧敲起你的键盘来!在下方评论区投稿吧!

大數據

带你读《计算机网络问题与解决方案: 一种构建弹性现代网络的创新方法》之二:数据传输中的问题与解决方案

点击查看第一章点击查看第三章 第2章 Computer Networking Problems and Solutions: An Innovative Approach to Building Resilient, Modern Networks 数据传输中的问题与解决方案 学习目标阅读完本章,读者应该能够: 理解数据列集的概念、各种不同的列集选项,以及各选项之间的权衡 在数据列集的上下文中理解字典、语法和元数据的概念 理解固定长度字段、类型长度值和共享数据字典等概念

大數據

基于 Seata Saga 设计更有弹性的金融应用

Seata 意为:Simple Extensible Autonomous Transaction Architecture,是一套一站式分布式事务解决方案,提供了 AT、TCC、Saga 和 XA 事务模式,本文详解其中的 Saga 模式。项目地址:https://github.com/seata/seata 本文作者:屹远(陈龙),蚂蚁金服分布式事务核心研发 。 金融分布式应用开发的痛点 分布式系统有一个比较明显的问题就是,一个业务流程需要组合一组服务。这样的事情在微服务下就更为明显了,因为这需要业务上的一致性的保证。也就是说,如果一个步骤失败了,那么要么回滚到以前的服务调用,要么不断重试保证所有的步骤都成功。—《左耳听风-弹力设计之“补偿事务”》 而在金融领域微服务架构下的业务流程往往会更复杂,流程很长,比如一个互联网微贷业务流程调十几个服务很正常,再加上异常处理的流程那就更复杂了,做过金融业务开发的同学会很有体感。 所以在金融分布式应用开发过程中我们面临一些痛点: 业务一致性难以保障 我们接触到的大多数业务(比如在渠道层、产品层、集成层的系统),为了保障业务最终一致性,往往会采用“补偿”的方式来做,如果没有一个协调器来支持,开发难度是比较大的,每一步都要在

Scroll to Top