分类 云计算 下的文章

ansible

ansible是新出现的自动化运维工具,基于Python开发,集合了众多运维工具(puppet、cfengine、chef、func、fabric)的优点,实现了批量系统配置、批量程序部署、批量运行命令等功能。
ansible是基于模块工作的,本身没有批量部署的能力。真正具有批量部署的是ansible所运行的模块,ansible只是提供一种框架。主要包括:
(1)、连接插件connection plugins:负责和被监控端实现通信;
(2)、host inventory:指定操作的主机,是一个配置文件里面定义监控的主机;
(3)、各种模块核心模块、command模块、自定义模块;
(4)、借助于插件完成记录日志邮件等功能;
(5)、playbook:剧本执行多个任务时,非必需可以让节点一次性运行多个任务。

Docker简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
一个完整的Docker有以下几个部分组成:
DockerClient客户端
Docker Daemon守护进程
Docker Image镜像
DockerContainer容器
无论是KVM还是Xen在 docker 看来,都在浪费资源,因为用户需要的是高效运行环境而非OS, GuestOS既浪费资源又难于管理, 更加轻量级的LXC更加灵活和快速。
面对上述几个问题,docker设想是交付运行环境如同海运,OS如同一个货轮,每一个在OS基础上的软件都如同一个集装箱,用户可以通过标准化手段自由组装运行环境,同时集装箱的内容可以由用户自定义,也可以由专业人员制造。这样,交付一个软件,就是一系列标准化组件的集合的交付,如同乐高积木,用户只需要选择合适的积木组合,并且在最顶端署上自己的名字(最后一个标准化组件是用户的app)。这也就是基于docker的PaaS产品的原型。
在docker的网站上提到了docker的典型场景:
Automating the packaging and deployment of applications(使应用的打包与部署自动化)
Creation of lightweight, private PAAS environments(创建轻量、私密的PAAS环境)
Automated testing and continuous integration/deployment(实现自动化测试和持续的集成/部署)
Deploying and scaling web apps, databases and backend services(部署与扩展webapp、数据库和后台服务)
Docker并不是全能的,设计之初也不是KVM之类虚拟化手段的替代品,简单总结几点:
Docker是基于Linux 64bit的,无法在32bit的linux/Windows/unix环境下使用
LXC是基于cgroup等linux kernel功能的,因此container的guest系统只能是linux base的
隔离性相比KVM之类的虚拟化方案还是有些欠缺,所有container公用一部分的运行库
网络管理相对简单,主要是基于namespace隔离
cgroup的cpu和cpuset提供的cpu功能相比KVM的等虚拟化方案相比难以度量(所以dotcloud主要是按内存收费)
Docker对disk的管理比较有限
container随着用户进程的停止而销毁,container中的log等用户数据不便收集
针对1-2,有windows base应用的需求的基本可以pass了; 3-5主要是看用户的需求,到底是需要一个container还是一个VM, 同时也决定了docker作为 IaaS 不太可行。
针对6,7虽然是docker本身不支持的功能,但是可以通过其他手段解决(disk quota, mount –bind)。总之,选用container还是vm, 就是在隔离性和资源复用性上做权衡。
另外即便docker 0.7能够支持非AUFS的文件系统,但是由于其功能还不稳定,商业应用或许会存在问题,而AUFS的稳定版需要kernel 3.8, 所以如果想复制dotcloud的成功案例,可能需要考虑升级kernel或者换用ubuntu的server版本(后者提供deb更新)。这也是为什么开源界更倾向于支持ubuntu的原因(kernel版本)

蚂蚁金服1/4员工“专工”风险管理业务

阿里赴美IPO之后,狂欢之际,更多人关注到,当初建立在淘宝电商之上,如今对阿里来说是最大“意外收获”的支付宝却并不在上市计划内。同样不在上市计划之内的是包括支付宝在内的阿里又一张王牌——阿里金融,全称:浙江蚂蚁小微金融服务集团,如今更多人愿意称其为蚂蚁金服。
在阿里上市之后一个月,阿里小微正式更名蚂蚁金服,旗下框架初步浮出水面,当时的主要业务板块还仅是包括支付宝、余额宝、招财宝、蚂蚁小贷,以及正在筹建的网商银行。
《第一财经日报》记者日前走访了蚂蚁金服,揭秘这一已经将业务板块拓展至支付宝、蚂蚁花呗、网商银行、芝麻信用、余额宝、招财宝、蚂蚁聚宝、蚂蚁达客、保险业务等,囊括了“存贷汇”业务的金融巨舰的风控内幕。
采访过程中,本报记者获得一组数据,目前蚂蚁金服共有员工6000余人,其中有1500人专门从事风险管理业务,占据全部人员的25%。同时在这1500人中,又有超过三分之二为数据分析人员和技术研发人员。
在设备投入方面,大安全部门约有2200台服务器专门用于风险监测、分析和处置;工具方面,共有5000~6000条规则、60多个模型用于风险的识别、分析和管控。
核心技术:CTU智能风控大脑
蚂蚁金服在风险控制技术上的核心是基于海量数据的智能风控大脑,在内部被称之为“CTU”。蚂蚁金服安全&服务及数据事业群高级经理郑良西对记者进一步解释到,所谓CTU其核心任务之一就是判断账户是否由账户的拥有者操作
如果是就通过,如果不是则要通过验证,通不过验证就要阻止交易发生。”郑良西表示,CTU是通过多维度进行检测和判断,包括买家信息、买家信息、历史交易信息等,判断后会有管控决策以及人工审核。“80%是通过智能审理的方式处理,一部分通过人工方式进行审核。”郑良西说。
用户在实际使用账户的过程中,经常遇到的场景就是输入验证码、短信验证、安全问题回答等。在安全系统看来,每一次验证对于用户都是一次打扰,如何能够在安全和用户体验之间平衡,打扰的频次和打扰的方式起着决定性作用。
“这是一个集群化概念,用10%的高效互动,实现最大化的安全。”郑良西称当前交易的打扰率已经下降了65%。
除此,蚂蚁金服在账户安全方面还根据事前、事中、事后进行了不同的风险防控手段。例如,事前将账户的风险分成,不同账户对应不同风险等级。事中,对新上线的产品进行风险评审以及监控策略方案评审。在走访中,本报记者看到支付宝大楼某一层有一个蓝色的实时全业务数据监控大屏。在事后,针对确定发生的风险事件打造了智能风险审理系统。
记者在采访过程中了解到,目前蚂蚁金服正在与公安机关、检察院、法院合作,对线下扰乱互联网金融秩序的的违法犯罪分子协同打击。数据显示,在过去蚂蚁金服协助破获的案件中,70%为盗用案件,其中具体包含银行卡盗用、账户盗用、设备丢失、扫号、洗号等,除盗用案件外还包括红包赌博、骗取贷款、木马案件、反洗钱等。
在蚂蚁金服这一大机器运转中,无论是业务发展、产品策划、市场营销还是风险防控,每一个环节都是由一个个数据构成的, 蚂蚁金服信息安全部总监王心刚称,“数据使用的策略是按需申请,且是最小授权,即在满足业务需要过程中的最小数据。”王心刚表示,在流转层面,在蚂蚁金服内部必须实现内循环。即当业务员在A业务系统进行操作的过程中,如果有数据需要传导至B操作系统,不能够发生先将数据下载到本机,再行上传到B业务系统。“这个数据流转路径存在一定风险,我们一直强调数据不能落地。”
大数据:从获取到应用要走6步
目前,蚂蚁金服旗下的业务包含支付宝、蚂蚁花呗、网商银行、芝麻信用、余额宝、招财宝、蚂蚁聚宝、保险等,而这些平台在从事与金融相关业务的同时也在做同一件事:“数据沉淀”。
数据量对于蚂蚁金服来说再某种程度上已经不再是问题,但当拥有足够量的大数据时,距离利用数据进行风控贷款仍有很长的路要走。日前,网商银行递出开业8个月来的首张成绩单,高达450亿的贷款余额中, 98%的贷款金额在5万元以下。
网商银行风控总监盛子夏在接受记者专访时解密了数据微贷业务的始末。
从原始数据获取,到最后数据应用落地一共要走六步。”
原始数据一共包含两层,第一层是阿里系统内部的交易数据和被称之为CRM的客户信息管理系统,第二层则是外部合作数据,如公共信息数据、以及第三方合作数据。“原始数据本身并不能产生商业价值,需要经过中间层数据的转化。”盛子夏进一步解释道,将原始数据汇总后进行地址库、主题数据等分类,在这个基础上形成基于中间层数据的衍生指标。“这之后才到模型阶段,也就是更多人提到的信用评分、用户标签等。”
然而,信贷业务无法完全依赖单位指标的信用评分。“真正用做融资和贷款还要加入配套的,包含风险端、营销端、安全端以及第三方评估数据等在内的数据策略。”
接下来,蚂蚁金服开发了一套被称为“通用云数据决策系统”,根据成千上万条数据判断是否值得为某个客户进行放贷,最后再将该决策系统对接至不同的应用场景
盛子夏称,相对于传统信贷模型,蚂蚁金服的数据模型不会机械地看待客户,而是从一个更全方位的角度去看待,包括衣食住行、社会阶层、教育背景、家庭住址、学历等。在这套模型之下,可将单笔贷款成本降低到几分钱。
支付宝暂不对接P2P、众筹
“有P2P公司来找我们,但是我们已经没有跟P2P公司接触了。”蚂蚁金服安全&服务及数据事业群国内风险管理部资深经理郑亮在接受记者专访时阐释了支付宝对于P2P网贷行业的审慎态度,对于支付宝来说目前暂不愿涉及P2P平台第三方托管业务的范畴,在更深层次来说,也不愿意对接该类B端企业作为支付宝收单商家。
郑亮称,未来支付宝是否会改变这一想法,暂时还没有结论,更大程度上需要取决于未来行业发展的方向和监管的完善。
本报记者了解到,除P2P被划定在支付宝对接“敏感区”之外,同样在这一领域的还包括众筹,以及涉及线下资金归拢、线下投资等脱离实体经济的类金融服务。
但是目前行业中仍有P2P公司在试图与蚂蚁金服接触,目标合作对象除能够提供收单以及第三方托管的支付宝外,更多平台将目标瞄准了芝麻信用。
支付宝之所以将P2P划入“敏感区”,在郑亮看来,主要取决于两方面的原因,第一,行业定位上不明晰,P2P行业并非单纯地承担了信息中介角色在其中,行业规范性欠缺;第二,支付宝在对合作目标平台进行尽调的过程中发现,大量平台的核心风险管理岗位,甚至决策层的风险管理能力和意识尚未达到专业水平。
http://www.yicai.com/news/2016/03/4762738.html
 

Hadoop和云计算的关系

Hadoop组件

Hadoop组件


Hadoop主要是由HDFS和MapReduce组成,HDFS是一个分布式文件系统(Hadoop Distributed File System),MapReduce则是用于并行处理大数据集的软件框架。因此,Hadoop是一个能够对大量数据进行分布式处理的软件框架,它是一种技术的实现。
Hadoop是Apache基金会下的一款开源软件,
它实现了包括分布式文件系统HDFS和MapReduce框架在内的云计算软件平台的基础架构,并且在其上整合了包括数据库、云计算管理、数据仓储等一系列平台,其已成为工业界和学术界进行云计算应用和研究的标准平台。Hadoop现在已经广泛应用于包括国外的FaceBook,Twitter,Yahoo!等公司,国内的百度,阿里等,Hadoop运行在数以千计的服务器和数以万计的CPU的集群上。基于Hadoop,用户可编写处理海量数据的分布式并行程序,并将其运行于由成百上千个结点组成的大规模计算机集群上。
Hadoop已被全球几大IT公司用
作其”云计算”环境中的重要基础软件,如:雅虎正在开发基于Hadoop的开源项目Pig,这是一个专注于海量数据集分析的分布式计算程序。亚马逊公司则基于Hadoop推出了Amazon S3(Amazon Simple Storage Service),提供可靠,快速,可扩展的网络存储服务。因此,Hadoop是云计算中一部分技术的实现,而不是全部。
云计算是继1980年代大型计算机到客户端-服务器的大转变之后的又一种巨变,但云计算的概念其实早已提出很久,早在上世纪60年代,麦卡锡就提出了把计算能力作为一种像水和电一样的公用事业提供给用户的理念,这成为云计算思想的起源。在20世纪80年代网格计算、90年代公用计算,21世纪初虚拟化技术、SOA、SaaS应用的支撑下,云计算作为一种新兴的资源使用和交付模式逐渐为学界和产业界所认知。因此,云计算的存在只是一种新的商业计算模型和服务模式。

Java和云计算的关系

Java是一种程序设计语言,云计算是一种新的商业计算模型和服务模式。他们实际上是没有直接关系的,但是由于Java 技术具有卓越的通用性、高效性、平台移植性和安全性,并且广泛应用于个人PC、数据中心、游戏控制台、科学超级计算机、智能手机、物联网和互联网,同时拥有全球最大的开发者专业社群。在全球云计算和移动互联网的产业环境下,Java更具备了显著优势和广阔前景,Java已经成为一个庞大而复杂的技术平台。
hadoop hadoop
Java与云计算的关系主要体现在以下几个方面:
Java在云计算中的优势:
Java使云计算更简单,Java具有简单性、兼容性、简易性、安全性、动态性、高性能、解释性、健壮性
Java与分布式计算:
基于JAVA的分布式程序设计:
基于Socket的编程
基于RMI的分布式编程
基于CORBA的分布式编程
Java与并行计算:
JDK 1.5引入java.util.cocurrent包
Java中的多线程技术实现并行计算( JET 平台)
Java SE 5 中的锁,原子量 并行容器,线程调度 以及线程执行
基于Java的分布并行计算环境Java PVM
云计算开源框架支持:
Hadoop是Java开发,很多其他的云计算相关开源软件也是由Java开发或者提供Java API
Java使得云计算的实现更为简单,而云计算让Java更有活力,找到一个新的结合点。Java在互联网应用有
着独特的优势,而云计算是基于互联网的新的商业计算模型和服务模式,两者相结合,势必创造更大价
值。

数据库索引

索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。
数据库索引好比是一本书前面的目录,能加快数据库的查询速度。
索引是对数据库表中一个或多个列(例如,employee 表的姓氏 (lname) 列)的值进行排序的结构。如果想按特定职员的姓来查找他或她,则与在表中搜索所有的行相比,索引有助于更快地获取信息。
例如这样一个查询:select * from table1 where id=10000。如果没有索引,必须遍历整个表,直到ID等于10000的这一行被找到为止;有了索引之后(必须是在ID这一列上建立的索引),在索引中查找,但索引是经过某种算法优化过的,查找次数要少的多的多。可见,索引是用来定位的。
索引分为聚簇索引和非聚簇索引两种,聚簇索引 是按照数据存放的物理位置为顺序的,而非聚簇索引就不一样了;聚簇索引能提高多行检索的速度,而非聚簇索引对于单行的检索很快。
建立索引的目的是加快对表中记录的查找或排序。
为表设置索引要付出代价的:一是增加了数据库的存储空间,二是在插入和修改数据时要花费较多的时间(因为索引也要随之变动)。
创建索引可以大大提高系统的性能。第一,通过创建唯一性索引,可以保证数据库表中每一行数据的唯一性。第二,可以大大加快数据的检索速度,这也是创建索引的最主要的原因。第三,可以加速表和表之间的连接,特别是在实现数据的参考完整性方面特别有意义。第四,在使用分组和排序子句进行数据检索时,同样可以显著减少查询中分组和排序的时间。第五,通过使用索引,可以在查询的过程中,使用优化隐藏器,提高系统的性能。
也许会有人要问:增加索引有如此多的优点,为什么不对表中的每一个列创建一个索引呢?因为,增加索引也有许多不利的方面。第一,创建索引和维护索引要耗费时间,这种时间随着数据量的增加而增加。第二,索引需要占物理空间,除了数据表占数据空间之外,每一个索引还要占一定的物理空间,如果要建立聚簇索引,那么需要的空间就会更大。第三,当对表中的数据进行增加、删除和修改的时候,索引也要动态的维护,这样就降低了数据的维护速度。
索引是建立在数据库表中的某些列的上面。在创建索引的时候,应该考虑在哪些列上可以创建索引,在哪些列上不能创建索引。一般来说,应该在这些列上创建索引:
在经常需要搜索的列上,可以加快搜索的速度;
在作为主键的列上,强制该列的唯一性和组织表中数据的排列结构;
在经常用在连接的列上,这些列主要是一些外键,可以加快连接的速度;在经常需要根据范围进行搜索的列上创建索引,因为索引已经排序,其指定的范围是连续的;
在经常需要排序的列上创建索引,因为索引已经排序,这样查询可以利用索引的排序,加快排序查询时间;
在经常使用在WHERE子句中的列上面创建索引,加快条件的判断速度。
同样,对于有些列不应该创建索引。一般来说,不应该创建索引的的这些列具有下列特点:
第一,对于那些在查询中很少使用或者参考的列不应该创建索引。这是因为,既然这些列很少使用到,因此有索引或者无索引,并不能提高查询速度。相反,由于增加了索引,反而降低了系统的维护速度和增大了空间需求。
第二,对于那些只有很少数据值的列也不应该增加索引。这是因为,由于这些列的取值很少,例如人事表的性别列,在查询的结果中,结果集的数据行占了表中数据行的很大比例,即需要在表中搜索的数据行的比例很大。增加索引,并不能明显加快检索速度。
第三,对于那些定义为text, image和bit数据类型的列不应该增加索引。这是因为,这些列的数据量要么相当大,要么取值很少,不利于使用索引。
第四,当修改性能远远大于检索性能时,不应该创建索引。这是因为,修改性能和检索性能是互相矛盾的。当增加索引时,会提高检索性能,但是会降低修改性能。当减少索引时,会提高修改性能,降低检索性能。因此,当修改操作远远多于检索操作时,不应该创建索引。

谷歌票房预测模型 准确度高达94%

谷歌公布了一项重要研究成果–电影票房预测模型。该模型能够提前一个月预测电影上映首周的票房收入,准确度高达94%。这在业内引起了强烈讨论,不少内人士认为该模型非常适合好莱坞电影公司通过预测票房来及时调整电影营销战略,但同时也有吐槽者暗示谷歌的票房预测模型别有用心,旨在鼓动电影公司购买其搜索引擎广告。那么,孰是孰非,谷歌票房预测模型以及大数据在电影行业的应用是嘘头,还是大有来头,让我们来一探究竟。
谷歌票房预测模型的基础:电影相关的搜索量与票房收入的关联
谷歌的票房预测模型是大数据分析技术在电影行业的一个重要应用。随着互联网的发展,人们越来越习惯于在网上搜索电影信息。据谷歌统计,从2011到2012年,电影相关的搜索量增长了56%。谷歌发现,电影相关的搜索量与票房收入之间存在很强的关联。
图1显示了2012年电影票房收入(红色)和电影的搜索量(灰色)的曲线(注:本文的所有图片均引用自谷歌的白皮书:QuantifyingMovieMagicwithGoogleSearch)。可以看到,两条曲线的起伏变化有着很强的相似性。

p1

p1


 

图1.2012年票房收入与搜索量的曲线
(红色是票房收入,灰色是搜索量,横轴是月份,纵轴是数量)

更进一步地,谷歌把电影的搜索分成了两类:
  I.涉及电影名的搜索(MovieTitleSearch);
  II.不涉及电影名的搜索(Non-TitleFilm-RelatedSearch)。这类搜索不包含具体的名字,而是一些更宽泛的关键词搜索,如“热门电影”、“爱情片”、“好莱坞电影”等。
  图2显示了票房收入与这两类搜索量之间的关系。从图上可以看到,大部分情况下,第I类搜索量超过第II类搜索量。但在电影淡季的时候(图中灰色椭圆区域,这时候票房收入较低),第I类搜索量会低于第II类搜索量。这符合常理,因为在淡季的时候知名度高的电影很少,人们往往用更宽泛的搜索来寻找想看的电影。

p2
p2

图2.2012年票房收入和两类搜索量的曲线

  (红色代表票房收入,蓝色代表第I搜索,灰色代表第II类搜索,横轴是月份,纵轴是数量)

  这一发现对电影的网络营销来说有一定的指导意义:在淡季的时候,电影公司可多购买相对宽泛的关键词的广告,而在旺季的时候,多购买涉及电影名的、更具体的关键词的广告。
  提前一周预测票房,可达到92%的准确度
  上面的讨论表明用电影的搜索量来预测票房是有可能的。那么,如果单纯使用搜索量来预测首周票房收入,效果怎么样?通过对2012年上映的99部电影的研究,谷歌发现仅依靠搜索量来预测是不够的。谷歌尝试构建了一个线性的模型,但只达到了70%的准确度(如图3)。

p3
p3

图3.搜索量与首周票房收入之间的关系

  (横轴是搜索量,纵轴是首周票房收入,灰色点对应某部电影的搜索量与首周票房收入)

  为了构建更加精确的预测模型,谷歌最终采用了四类指标:
  (1)(电影放映前一周的)电影的搜索量
  (2)(电影放映前一周的)电影广告的点击量
  (3)上映影院数量
  (4)同系列电影前几部的票房表现
  其中每类指标又包含了多项类内指标。
  在获取到每部电影的这些指标后,谷歌构建了一个线性回归模型(linearregressionmodel)模型,来建立这些指标和票房收入的关系。线性回归模型,在大数据分析领域里算是最基本的模型之一,它认为票房收入与这些指标之间是简单的线性关系。
  图4展示了模型的效果,其中灰色点代表了实际的票房收入,红色点代表了预测的票房收入。可以看到,预测的结果与实际的结果差异很小。

p4
p4

图4.提前一周预测票房的效果

  (横轴是搜索量,纵轴是首周票房收入,灰色点对应某部电影的首周票房收入,红色点对应预测的首周票房收入)

   提前一个月预测票房,可达到94%的准确度
   尽管提前一周预测可以达到92%的准确度,对于电影的营销来说,价值并不大,因为一周的时间往往很难调整营销策略,改善营销效果。因此,谷歌又进一步研究,使得模型可以提前一个月预测首周票房。
  实现提前一个月预测的关键在于:谷歌采用了一项新的指标–电影预告片的搜索量。谷歌发现,预告片的搜索量比起电影的直接搜索量而言,可以更好的预测首周票房表现。这一点不难理解,因为在电影放映前一个月的时候,人们往往更多地搜索预告片。
  仅使用预告片的搜索量仍然不够,因此谷歌的模型最终采用了三类指标:
  (1)电影预告片的搜索量
  (2)同系列电影前几部的票房表现
  (3)档期的季节性特征
  其中每类指标又包含了多项类内指标。
  在获取到每部电影的这些指标后,谷歌再次构建了一个线性回归模型(linearregressionmodel)模型,来建立这些指标和票房收入的关系。
  图5展示了模型的效果,其中灰色点代表了实际的票房收入,红色点代表了预测的票房收入。可以看到,预测结果与实际结果非常接近。

p5
p5

图5提前一个月预测票房的效果

  (横轴是预告片搜索量,纵轴是首周票房收入,灰色点对应实际某部电影的首周票房收入,红色点对应预测的首周票房收入)

   为什么谷歌采用了这么简单的模型
  前面的分析中已经提到,谷歌采用的是数据分析中最简单的模型之一-线性回归模型。这对很多读者来说多少有点意外。为什么谷歌用的模型如此简单?
  首先,线性模型虽然简单,但已经达到了很高的准确度(94%)。简单且效果好,是我们在实际应用中一直追求的。
  其次,简单的模型易于被人们理解和分析。大数据分析技术的优势正是能够从大量数据中挖掘出人们可以理解的规律,从而加深对行业的理解。正是因为谷歌使用了线性预测模型,所以它很容易对各项指标的影响做出分析。例如谷歌的报告中给出了这样的分析结论:“距离电影上映一周的时候,如果一部影片比同类影片多获得25万搜索量,那么该片的首周票房就很可能比同类影片高出430万美元。若一部电影有搜索引擎广告,我们也可以通过其广告的点击量来推测票房表现——如果点击量超出同类电影2万,那该片首周票房将领先750万美元”。
  对于电影的营销来说,掌握各项指标对票房收入的影响,可以优化营销策略,降低营销成本。谷歌的报告中指出,用户一般会通过多达13个渠道来了解电影的信息。票房预测模型的出现无疑使得营销策略的制定更加有效。
   大数据分析在电影行业的应用前景:把模糊的行业经验变得更科学,更精准
  票房预测模型的公布,让业内人士再次见证了大数据的成功应用。近年来,大数据在电影行业的应用越来越引起关注,比如此前谷歌利用搜索数据预测了奥斯卡获奖者,Neflix通过大数据分析深度挖掘了用户的喜好,捧红了《纸牌屋》等。但大数据对电影行业的价值到底如何,仍然众说纷纭。梦工厂CEO卡森伯格最近接受腾讯财经专访时发表了一个似乎悲观的态度:电影创作靠创造力,不靠数据分析。
  要理解大数据对电影行业的影响,首先需要对大数据分析有正确的认识。大数据分析的本质,在于通过数据,更精准地挖掘用户的需求。而谁能掌握用户的需求,谁就可以引领行业的发展。谷歌的票房预测模型,本质上也是通过搜索量,挖掘出用户对电影的需求有多大,进而预测出票房收入。值得注意的是,谷歌的模型基于的只是宏观的搜索量的统计,对用户需求的挖掘相对表面。如何从搜索数据中更深地挖掘用户的需求将是未来的趋势之一。
  既然大数据分析的核心是挖掘用户需求,所以一大核心问题是:哪些用户的需求是可以从数据中挖掘到的?要知道,并不是任何需求都可以被挖掘到,或者说可以被精准地挖掘到。能够通过大数据分析挖掘到的需求,一般是符合行业经验的,应当是业内人士觉得可以被挖掘的(有时候,挖掘出的需求可能会超出行业经验,甚至产生颠覆性的影响)。谷歌的预测模型的基本假设,是符合行业直觉的,即电影的搜索量越大,往往票房收入越大。模型能够提前一个月预测票房,也符合行业经验,正如谷歌的一项行业调研揭示的:大多数观众会在电影首映4周前去了解电影。数据分析技术,是把这种模糊的行业经验,变得更科学,变得更精准。而这一过程,很可能会深层次地改变电影行业。
  要将大数据分析更广泛地应用于电影行业,可以从以下几个方面去探索:
   一.我们可以获得哪些数据。大数据时代的特点是数据来源广泛,可以是业内发布的数据,也可以是来自搜索引擎、社交媒体等的数据。有些数据看似关联不强(比如社交媒体数据),但往往能从中挖掘到用户的潜在需求。
   二.从数据中,我们想挖掘什么信息。谷歌的模型,挖掘了搜索量等数据与票房收入的关联;Netflix的模型,则挖掘了观众对不同电影的偏好,以及其他的行为特点。挖掘什么信息,一方面取决于我们有哪些数据,另一方面也取决于什么样的信息可能有助于商业决策。
  三.有什么行业经验是可以结合的。单纯地数据分析,可能会找到很多规律,但这些规律未必是有实际价值的。只有当数据结合行业经验,才更容易形成精准的行业模型,从而产生巨大的价值。
  而卡森伯格说的“不靠数据”,更多的是强调电影创作本身。电影的创作充满了艺术,是很难形成科学的规律的。即便如此,大数据对电影创作也可以起到一定的辅助作用。毕竟,了解观众的需求,也是电影创作的重要参考。

linux swap命令

一般来说可以按照如下规则设置swap大小:
4G以内的物理内存,SWAP 设置为内存的2倍。
4-8G的物理内存,SWAP 等于内存大小。
8-64G 的物理内存,SWAP 设置为8G。
64-256G物理内存,SWAP 设置为16G。
系统中交换分区的大小并不取决于物理内存的量,而是取决于系统中内存的负荷,所以在安装系统时要根据具体的业务来设置SWAP的值。
查看swap使用的情况:

swapon -s
free -m
cat /proc/sys/vm/swappiness

该值默认值是60.
swappiness=0的时候表示最大限度使用物理内存,然后才是 swap空间,
swappiness=100的时候表示积极的使用swap分区,并且把内存上的数据及时的搬运到swap空间里面。

实现ssh无密码登录的实现方法

实现ssh无密码登录的实现方法:
步骤1: 用 ssh-key-gen 在本地主机上创建公钥和密钥
先在本机上创建一个文件夹执行命令:mkdir .ssh
接着生成公钥和密钥,执行命令:ssh-keygen -t rsa
Enter file in which to save the key (/home/jsmith/.ssh/id_rsa):[Enter key]
Enter passphrase (empty for no passphrase): [Press enter key]
Enter same passphrase again: [Pess enter key]
Your identification has been saved in /home/jsmith/.ssh/id_rsa.
Your public key has been saved in /home/jsmith/.ssh/id_rsa.pub.
The key fingerprint is: 33:b3:fe:af:95:95:18:11:31:d5:de:96:2f:f2:35:f9
ligh@local-host
步骤2: 用 ssh-copy-id 把公钥复制到远程主机上
ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.0.3
ligh@remote-host‘s password:
Now try logging into the machine, with ―ssh ?remote-host‘‖, and check in:
.ssh/authorized_keys to make sure we haven‘t added extra keys that you weren‘t expecting.
[注: ssh-copy-id 把密钥追加到远程主机的 .ssh/authorized_keys 上.]
步骤3: 直接登录远程主机
ssh remote-host
Last login: Sun Nov 16 17:22:33 2008 from 192.168.1.2

数据分析相关概念的理解

所有的数据产品最后都可以抽象成:指标 +维度
维度,能够向上聚合(实际上就是SUM)
对于部分复合型指标,实际上就是由多个基础指标经过一些简单的数学运算得到
指标和维度是业务来定的,与技术无关
将这些指标和维度,按照分析的主题域梳理成指标维度矩阵