`
zhangxiong0301
  • 浏览: 360702 次
社区版块
存档分类
最新评论
文章列表
作者:Tathagata Das 译者:彭根禄 本文来自Spark Streaming项目带头人 Tathagata Das的博客文章,他现在就职于Databricks公司。过去曾在UC Berkeley的AMPLab实验室进行大数据和Spark Streaming的研究工作。本文主要谈及了Spark Streaming容错的改进和零数据丢失。 以下为原文: 实时流处理系统必须要能在24/7时间内工作,因此它需要具备从各种系统故障中恢复过来的能力。最开始,Spark Streaming就支持从driver和worker故障恢复的能力。然而有些数据源的输入可能在故障恢复以后丢失数据。在Sp ...
NVIDIA (英伟达)公司已经发布了针对 Linux 用户的显卡驱动 Nvidia Driver 334.21,该驱动程序新增加支持 GeForce GTX 750 Ti、 GeForce GTX 750、 GeForce GTX 745 和 GeForce GTX TITAN。除此之外,NVIDIA 334.21 带来了不少的 bug 修复。详细信息查看发行日志。   安装 Nvidia 334.21: 1、打开终端,先删除旧的驱动: sudo apt-get purge nvidia*sudo apt-get install nvidia-319-updates-dev 2、现 ...
今天我们讲一个下怎么使用随机游走算法PersonalRank实现基于图的推荐。在推荐系统中,用户行为数据可以表示成图的形式,具体来说是二部图。用户的行为数据集由一个个(u,i)二元组组成,表示为用户u对物品i产生过行为。本 ...

最速梯度下降法

梯度下降法是一个一阶最优化算法,通常也称为最速下降法。 梯度下降法,就是利用负梯度方向来决定每次迭代的新的搜索方向,使得每次迭代能使待优化的目标函数逐步减小。梯度下降法是2范数下的最速下降法。     最速下降法的一种简单形式是:x(k+1)=x(k)-a*g(k),其中a称为学习速率,可以是较小的常数。g(k)是x(k)的梯度。     直观的说,就是在一个有中心的等值线中,从初始值开始,每次沿着垂直等值线方向移动一个小的距离,最终收敛在中心。      对于某一个性能指数,我们能够运用梯度下降法,使这个指数降到最小。若该指数为均方误差,我们便得到了最小均方误差(LMS)算法。
最近在拜读项亮博士的《推荐系统实践》,系统的学习一下推荐系统的相关知识。今天学习了其中的隐语义模型在Top-N推荐中的应用,在此做一个总结。隐语义模型LFM和LSI,LDA,Topic Model其实都属于隐含语义分析技术,是一类概念,他们在本质上是相通的,都是找出潜在的主题或分类。这些技术一开始都是在文本挖掘领域中提出来的,近些年它们也被不断应用到其他领域中,并得到了不错的应用效果。比如,在推荐系统中它能够基于用户的行为对item进行自动聚类,也就是把item划分到不同类别/主题,这些主题/类别可以理解为用户的兴趣。对于一个用户来说,他们可能有不同的兴趣。就以作者举的豆瓣书单的例子来说,用户 ...
1.安装 gparted sudo apt-get install gparted2.打开gparted,把U盘格式化成 ntfs(注意先卸载usb)3.安装 ms-sys 去这里下载 http://ms-sys.sourceforge.net/#Download4.解压 并安装 (安装的时候用root)tar xvf ms-sys-2.1.5.tar.gzcd ms-sysmakemake install 5.安装完后把 MBR 写入U盘sudo ms-sys -7 /dev/sdXX 替换为自己的盘符 例子/dev/sdc 不是 /dev/sdc16.然后把windos 7 安装盘里的文 ...
                       最近给热云公司共享数据,我们把原始数据给到他们,让他们做计算。每天同步一次,数据量压缩后10几个G,数据来自hive的mapreduce查询。通过insert overwrite local directory select语句将数据写入本地的NFS,然后对数据压缩,并在NFS的服务端机器提供文件下载功能。由于压缩前数据量太大,大概有90G左右。因此在hive作业最后写入select结果数据到本地文件系统时直接报错中断了。而且就算能拷贝到本地,之后的压缩时间没有好几个小时也甭想完成。于是就想到了用启用hadoop的数据压缩功能,使mapreduc ...
一、病人分类的例子 让我从一个例子开始讲起,你会看到贝叶斯分类器很好懂,一点都不难。 某个医院早上收了六个门诊病人,如下表。   症状  职业   疾病   打喷嚏 护士   感冒   打喷嚏 农夫   过敏   头痛  建筑工人 脑震荡   头痛  建筑工人 感冒   打喷嚏 教师   感冒   头痛  教师   脑震荡 现在又来了第七个病人,是一个打喷嚏的建筑工人。请问他患上感冒的概率有多大? 根据贝叶斯定理:  P(A|B) = P(B|A) P(A) / P(B) 可得    P(感冒|打喷嚏x建筑工人)     = P(打喷嚏x建筑工人|感冒) ...
            今天有个需求,就是:指定200W用户(表meids_tmp),把这些用户最近15天的应用使用数据(表tb_yl_upload_info,按天分区)转移到另外一张表中(表upload_info_sub,按天分区)。          很直观,meids_tmp表63M,可以使用map端连接;要求目标表数据按日期组织,自然想到动态分区,使数据插入时自动按日期写入。最终,得到如下sql:     SELECT /*+mapjoin(b)*/ a.sn, a.isenabled, ...
1、介绍   在HBase中,namespace命名空间指对一组表的逻辑分组,类似RDBMS中的database,方便对表在业务上划分。Apache HBase从0.98.0, 0.95.2两个版本开始支持namespace级别的授权操作,HBase全局管理员可以创建、修改和回收namespace的授权。  2、namespace HBase系统默认定义了两个缺省的namespace hbase:系统内建表,包括namespace和meta表 default:用户建表时未指定namespace的表都创建在此 创建namespace   hbase>create ...
          hadoop节点在磁盘坏掉的时候需要节点下线,按照下线步骤操而不是直接kill,是为了让数据安全的转移。比如hbase的regionserver直接kill掉的话,如果运气再坏一点这个regionserver上刚好是root表或meta表所在的机器,那可能导致hbase集群不可用。       1.   hbase regionserver下线            直接执行hbase bin目录下的graceful_stop.sh <nodename>. 这个命令执行时,会先把banlance_switch关掉,然后转移该regionserver ...
                    最近有个需求,就是使用mybatis时,向mysql中插入数据,其参数为map类型,map里面的key为列名,而key对应的value是该列对应的列值;问题是每次插入mysql中数据行的部分列,即map里面key的值每次都不固定,在用mybatis时需要通过map的key作为列名。   基础知识   对于这类问题基本思路就是用foreach标签遍历map,因此需要看看foreach的知识。 foreach属性 属性 描述 item 循环体中的具体对象。支持属性的点路径访问,如item.age,item.info.details。 ...
当多个不同角色的用户共用hive时,需要对不同的角色做不同的权限控制。权限控制主要指底层的hdfs文件操作控制和hive自身的对表的授权管理。   首先,安装hive。hive装好后以管理员身份启动hive,即执行命令:hive -hiveconf hive.root.logger=DEBUG,console 报错如下:   2014-02-13 16:48:59,968 ERROR DataNucleus.Datastore (Log4JLogger.java:error(115)) - Error thrown executing CREATE TABLE `SD_PA ...

MYSQL乱码问题解决

在使用mysql过程中遇到乱码问题,具体流程是:同事通过putty命令行终端向mysql插入带中文的记录,然后自己同样在putty查询回显正常;但是我在spring里用mybatis去查数据是,得到的却是乱码的字符。最终发现,同事用latin1字符编码写的,但是我是用utf8读的,所以出现以上问题。具体来说同事的命令行命令: mysql> show variables like '%character_set%'; +--------------------------+------------------------------------+ | Variable_name   ...

两阶段提交

在分布式系统中,事务往往包含有多个参与者的活动,单个参与者上的活动是能够保证原子性的,而多个参与者之间原子性的保证则需要通过两阶段提交来实现,两阶段提交是分布式事务实现的关键。 很明显,两阶段提交保证了分布式事务的原子性,这些子事务要么都做,要么都不做。而数据库的一致性是由数据库的完整性约束实现的,持久性则是通过commit日志来实现的,不是由两阶段提交来保证的。至于两阶段提交如何保证隔离性,可以参考Large-scale Incremental Processing Using Distributed Transactions and Notifications中两阶段提交的具体实现。 ...
Global site tag (gtag.js) - Google Analytics