首页
学习
活动
专区
工具
TVP
发布

我是攻城师

专栏作者
492
文章
958918
阅读量
119
订阅数
深入理解什么是LSM-Tree
十多年前,谷歌发布了大名鼎鼎的"三驾马车"的论文,分别是GFS(2003年),MapReduce(2004年),BigTable(2006年),为开源界在大数据领域带来了无数的灵感,其中在 “BigTable” 的论文中很多很酷的方面之一就是它所使用的文件组织方式,这个方法更一般的名字叫 Log Structured-Merge Tree。在面对亿级别之上的海量数据的存储和检索的场景下,我们选择的数据库通常都是各种强力的NoSQL,比如Hbase,Cassandra,Leveldb,RocksDB等等,这其中前两者是Apache下面的顶级开源项目数据库,后两者分别是Google和Facebook开源的数据库存储引擎。而这些强大的NoSQL数据库都有一个共性,就是其底层使用的数据结构,都是仿照“BigTable”中的文件组织方式来实现的,也就是我们今天要介绍的LSM-Tree。
我是攻城师
2019-06-03
41.5K2
Elasticsearch如何动态维护一个不可变的倒排索引
上一篇文章中介绍了Elasticsearch中是如何搜索文本的,同时也简述了在es里面索引数据结构的特点不可变性。 索引不可变性的缺点限制了单个索引存储的最大数据量以及更新的频次,所以es面临的问题是如何解决倒排索引不可更新的特点而同时仍然保持不可变特性带来的好处。 答案就是使用多个索引 代替原来的每次重写整个索引,es里面采用方式是增加新的索引来反映最近的变化,然后查询的时候一次查询所有的倒排索引,从最早的一直到最新的,然后在合并结果返回。 在lucene里面一个索引是多个segment加上一个commi
我是攻城师
2018-05-15
1.6K0
Spark如何读取一些大数据集到本地机器上
最近在使用spark处理分析一些公司的埋点数据,埋点数据是json格式,现在要解析json取特定字段的数据,做一些统计分析,所以有时候需要把数据从集群上拉到driver节点做处理,这里面经常出现的一个问题就是,拉取结果集过大,而驱动节点内存不足,经常导致OOM,也就是我们常见的异常: 这种写法的代码一般如下: 上面的这种写法,基本原理就是一次性把所有分区的数据,全部读取到driver节点上,然后开始做处理,所以数据量大的时候,经常会出现内存溢出情况。 (问题一)如何避免这种情况? 分而治之,每次只拉取一个
我是攻城师
2018-05-14
1.9K0
ES-Hadoop插件介绍
上篇文章了,写了使用spark集成es框架,并向es写入数据,虽然能够成功,但从集成度上来讲肯定没有官网提供的ES-Hadoop框架来的优雅,今天我们就来认识一下ES-Hadoop这个框架。 我们都知道Hadoop是标准的大数据生态代表,里面有非常多的组件来处理不同类型或者场景下的数据,Hadoop的基础组件是YARN,HDFS,MapReduce,我们都知道HDFS是可靠的分布式存储系统,大多数我们都是用MapReduce来分析数据,唯一的不足之处在于速度,为了解决这种问题所以才有了Hbase,Spark
我是攻城师
2018-05-14
1.7K0
最近工作中遇到ElasticSearch一些问题总结
最近在使用ElasticSearch来查询我们的一些实时数据,中间也遇到不少的问题,今天在此简单总结记录一下。es的功能的确十分强大,大部分数据库能实现的需求,基本在es里面都能实现,当然两者都有一些
我是攻城师
2018-05-14
1.9K0
在Scala里面如何使用正则处理数据
正则在任何一门编程语言中,都是必不可少的一个模块,使用它来处理文本是非常方便的,尤其在处理在使用Spark处理大数据的时候,做ETL需要各种清洗,判断,会了正则之后,我们可以非常轻松的面对各种复杂的处理,Scala里面的正则也比Java简化了许多,使用起来也比较简单,下面通过几个例子来展示下其用法: /** * Created by QinDongLiang on 2017/1/5. */object ScalaRegex { def main(args: Array[String]): Un
我是攻城师
2018-05-14
9030
六个藉藉无名但迅速崛起的Apache大数据项目
如今全球各地的无数企业组织在处理数据集,这些数据集是如此地庞大而复杂,以至于传统的数据处理应用软件再也无法支持经过优化的数据分析和洞察力获取。这是新一批大数据应用软件旨在解决的问题,而Apache软件
我是攻城师
2018-05-14
1.3K0
SolrCloud之Sharding路由介绍
在Solr4.4之后,Solr提供了SolrCloud分布式集群的模式,它带来的主要好处是: (1)大数据量下更高的性能 (2)更好扩展性 (3)更高的可靠性 (4)更简单易用 什么时候应该使用SolrCloud(Shard)呢? (1)更大的数据量 (2)更大的索引体积 (3)想并行索引和查询 (4)想自定义数据分区 SolrCloud路由的分类 A:显式路由(Composite) => 创建时明确指定shard数目,后期不能添加或者删除shard,单个shar
我是攻城师
2018-05-14
1.4K0
Hadoop生态系统在壮大:十大炫酷大数据项目
在开发人员开发Hadoop以克服大数据带来的挑战之后的10年间,这些技术的生态系统在不断发展壮大。Apache软件基金会下面有众多的开源大数据技术项目。本文介绍一些重要项目,并顺便了解几个新兴项目。
我是攻城师
2018-05-14
1K0
Java程序员使用的20几个大数据工具
最近我问了很多Java开发人员关于最近12个月内他们使用的是什么大数据工具。 这是一个系列,主题为: 语言 web框架 应用服务器 SQL数据访问工具 SQL数据库 大数据 构建工具 云提供商 今天我
我是攻城师
2018-05-14
6120
Lucene暴走之巧用内存倒排索引高效识别垃圾数据
识别垃圾数据,在一些大数据项目中的ETL清洗时,非常常见,比如通过关键词 (1)过滤垃圾邮件 (2)识别yellow网站 (3)筛选海量简历招聘信息 (4)智能机器人问答测试 ........ 各个公司的业务规则都不一样,那么识别的算法和算法也不一样,这里提供一种思路,来高效快速的根据关键词规则识别垃圾数据。 下面看下需求: 业务定义一些主关键词若干少则几百个,多则几千个上万个,例如: Java代码 公司 机车厂 化纤厂 建设局 实业集团 中心店 桑拿中心
我是攻城师
2018-05-14
7480
大数据日志收集框架之Flume入门
Flume是Cloudrea公司开源的一款优秀的日志收集框架,主要经历了两个大的版本,分别是 Flume-OG Flume-NG OG是0.9.x的版本,依赖zookeeper,角色职责不够单一
我是攻城师
2018-05-14
1.2K0
Hive使用ORC格式存储离线表
在大数据时代,列式存储变得越来越流行了,当然并不是说行式存储就没落了,只是针对的场景不同,行式存储的代表就是我们大多数时候经常用的数据库,比较适合数据量小,字段数目少,查询性能高的场景,列式存储主要针对大多数互联网公司中的业务字段数目多,数据量规模大,离线分析多的场景,这时候避免大量无用IO扫描,往往提高离线数据分析的性能,而且列式存储具有更高的压缩比,能够节省一定的磁盘IO和网络IO传输。 基础环境如下: Apache Hadoop2.7.1 Apache Hbase0.98.12 Apach
我是攻城师
2018-05-14
6K2
Hadoop之父Doug Cutting眼中大数据技术的未来
上次见到(膜拜)Hadoop之父Doug Cutting是在2年前,2014中国大数据技术大会上。今年Hadoop10岁,刚看到他的Hadoop十周年贺词,感觉时间飞逝。 Doug Cutting成长
我是攻城师
2018-05-14
6220
优秀大数据GitHub项目一览
VMware CEO Pat Gelsinger曾说: 引用 数据科学是未来,大数据分析则是打开未来之门的钥匙 企业正在迅速用新技术武装自己以便从大数据项目中获益。各行业对大数据分析人才的需求也迫使我们升级自己的技能以便寻找更好的职业发展。 跳槽之前最好先搞清楚一个岗位会接触到的项目类型,这样你才能掌握所有需要的技能,工作的效率也会更高。 下面我们尽量列出了一些流行的开源大数据项目。根据它们各自的授权协议,你或许可以在个人或者商业项目中使用这些项目的源代码。写作本文的目的也就是为大家介绍一些解决大数
我是攻城师
2018-05-14
2.1K0
生儿子幸福还是生女儿幸福?让大数据告诉你!
儿子是“建设银行”,所以生了儿子的爸妈会马上开始省吃俭用攒钱买房,而女儿是“招商银行”,生女儿的爸妈可能就会计划买辆新车。那么到底生女儿好还是生儿子好,爸妈们一直是各说各有理,并没有统一的答案。 最近一项名为《新经济时期的子女性别和父母幸福感》的课题研究,其内容包括个体幸福感指标、子女的数量、性别和年龄以及教育、收入、健康等。研究在采集了国内72个地级市4309个家庭的样本之后,得出“生儿子的父母,在儿子长到17岁至30岁期间,幸福感明显比生女儿的父母要低。”也就是说大数据告诉我们,生女儿会比较幸福!但真的
我是攻城师
2018-05-14
5730
运用Spark加速实时数据分析
Apache Hadoop是一个成熟的开发框架,其连接着庞大的生态系统,并且得到了Cloudera、Hortonwork、Yahoo这些卓越机构的支持与贡献,并且为各个组织提供了许多工具来管理不同大小规则的数据。 在过去,Hadoop中运用MapReduce进行批处理的特性足以满足许多组织的处理需求。然而,随着信息化时代的发展,越来越多组织亟需使用更加快速的数据处理。这些需求来自各个领域的驱动,其中包括最近发展的流媒体技术、物联网、实时分析处理,这些也仅仅只是其中一部分。他们需要一套新的数据处理模型。在
我是攻城师
2018-05-14
6520
Spark入门之WordCount
环境: Hadoop版本:Apache Hadoop2.7.1 Spark版本:Apache Spark1.4.1 核心代码: 测试数据: Java代码 a,b,a c,d
我是攻城师
2018-05-14
5840
大数据就是这么神奇!
大数据,顾名思义就是大量的数据,专业一点的解释叫做无法在可承受的时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。大数据技术的战略意义不在于掌握庞大的数据信息,而在于对这些含有意义的数据进行专业化处理。换言之,如果把大数据比作一种产业,那么这种产业实现盈利的关键,在于提高对数据的“加工能力”,通过“加工”实现数据的“增值”。 互联网时代每天都有巨量的数据产生,信息技术也随之飞速发展。社会各个阶层都在默默收集这些数据,并通过分析与统计,筛选出对自己有用的数据。大数据已经渗透进我们生活的方方面面,其实我们
我是攻城师
2018-05-14
6640
盘点大数据生态圈,那些繁花似锦的开源项目
随着互联网和移动互联网的发展,时下我们正处在一个大数据的时代。在数据金山的诱惑下,各个机构纷纷开始探索从数据中提取洞见并指导实践的可能。而在这个需求的刺激下,在过去数年,大数据开源生态圈得到了长足的发展——在数据的整个生命周期中,从收集到处理,一直到数据可视化和储存,各种开源技术框架林立。 以这些开源技术为基石,业内涌现出一系列令人敬佩的大数据架构实践,而《程序员》电子刊9月B大数据实战与技术专题则摘录了电商、金融、游戏等行业的大数据应用,并覆盖了当下热门的大数据开源技术实践与技术细节,如Hadoop、
我是攻城师
2018-05-14
8500
点击加载更多
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档