大数据开发中遇到的鬼魅魍魉,清除30%以上经验总结 大数据开发中遇到的鬼魅魍魉,清除50%以上经验总结@TOC导语一部分工作原因,一部分懒,一部分觉得没收益,没怎么写博客。在做大数据的一些事情,与其是做事,不如是找虐。大数据这些开源组件与工具,看上去很美好,实际问题多多,受虐多多。趁着最近对自己做了点思考,写点总结。内容还没想好,后续再添。小鬼山鬼音狱鬼毒鬼鬼城主红邪鬼蛊之鬼炼狱鬼鬼城主宝仙鬼宝塔巨鬼死神鬼...
使用Spark rdd 开发spark程序 文章目录1.常用的rddrdd的输入和输出,scala版,java版每个rdd函数的使用场景特殊rdd的使用选择reduceByKey,groupByKey,的使用选择collect,count的使用选择总结1.常用的rdd函数说明map(func)返回一个新的分布式数据集,由每个原元素经过func函数转换后组成filter(func)返回一个新的数据集,由经过f...
ThoughtWorks笔试题大致解题思路总结 收到ThoughtWorks的面试邀请,HR电话初面后,说是要做题。给发了3道题,任选一道。ThoughtWorks是什么样的公司呢?外企,听说很牛,什么“敏捷开发模式”就是那公司首创的概念。出的题目也有些奇怪,选取第一道如下:Problem one: TrainsThe local commuter railroad services a number of towns in Kiwi...
大数据采集的几点问题的思考 最近去面试,遇到面试官提到了几个关于“数据采集”方面的问题。一般大数据处理流程的共识是:大数据采集、大数据预处理、大数据存储及管理、大数据分析及挖掘、大数据展现和应用(大数据检索、大数据可视化、大数据应用、大数据安全等)。其中,数据采集是第一步。有这么几个情况:(1)日志类型的数据采集;(2)接口类型的数据采集;(3)爬虫数据采集;(4)传感器数据采集等等。。当然有别的分类,这里暂...
spark集群调优心得 最近公司搞一个spark集群项目,期间会对spark集群进行调优.虽然调优的建议网上有很多,但是通过具体实践,发现不同的场景,调节的参数还是有不一样的地方.现记录一下最近学到的一些实践手段吧.(1)要留一点资源给除spark以外的应用.我们用的是Spark-On-Yarn资源调度,每台机器有24核心,每台机器最大内存有128G,在yarn-site.xml里面,有人很可能把核心数和资源
使用JMC工具对spark 程序调优(一) spark调优是一个头疼的事,这个疼在什么地方呢? (1)spark将内部几乎完全封装,类似黑箱,不了解内部机理; (2)spark 调优参数众多,参数之间关联很多; (3)spark运行在集群上,本地调试功能有限。...
处理大量csv数据和模型数据有关大数据组件选型的例子分析 大数据技术对处理大批量数据和在分布式计算上,较传统技术优势明显。那么,借大数据技术在处理航空数据上是否有用武之地?本文接下来讨论使用大数据组件来处理航空数据。航空数据有的数据以csv文件格式存储,统计分析航空数据有很多潜在价值,尽管有可观的分析价值,但这里仍跟大数据技术扯不上关系。所以,笔者准备从案例的角度,来尝试讨论下自己的观点。案例一假设一个航空公司的某业务一天生成100个...
spark常见操作系列(3)--spark读写hbase(2) 接着上一篇, 问题(2):scan有scan.setCaching(10000)scan.setCacheBlocks(true)等设定.setCaching ,个人感觉不够用.hbase 默认是在内存里面放一块数据用来读取,所以读取效率比较高,可是,其余大部分数据还是在硬盘中,这个内存数据块的设定和意义,待清晰研究.单节点hbase的写入效率,有人粗估计,在3万-5万,这个...
大量csv数据的查询和计算的技术实现路径分析(2)-HDFS存储查询探讨2 上一篇讲了java split的使用弊端,虽是字符串处理中一个很小的操作,不过却避不开。接下来,主要探讨HDFS存储查询方面的问题和解决思路。 随着每天的业务运作,每天会生成很多csv文件,目前csv文件存储在hdfs文件系统里面。在使用csv文件数据时,遇到一个问题: 如何高效查询HDFS中的csv数据?基于HDFS文件系统的特性,笔者经由以前的探讨和一些资料,作了一些思考,如图: ...
记一次ajax接收后端大量数据的优化 最近在做前端的一些事情。使用echart绘图。遇到一个问题,就是用ajax 接收后端返回的json数据。测试发现速度很慢,调试发现后端返回的数据有54.7M,ajax接收时间在32-43秒左右,如图: 项目使用spring mvc框架,服务端使用@ResponseBody 自动打包 HttpServletResponse的返回内容,return HashMap,返回类型是applicat...
Apache atlas 的入门教程 笔者最近参加了2场大数据技术开放活动,在技术分享的时候,发现,2场分享活动,有人不约而同的推荐了Apache atlas 组件,所以,就像介绍一下这个组件。Apache atlas 是个什么样的工具?它有哪些功能和作用?其实,在本人之前的文章中有介绍,它是一个用在hadoop上的数据治理和元数据框架工具。它是基于hadoop平台上,能无缝对接hadoop平台的组件。前端UI默认使用solr5,...
大量csv数据的查询和计算的技术实现路径分析(1) 在工作中,会有处理很多数据的场景。比如,用户需求:我有大量数据,(1)我想要高效查询我想要的数据。(2)我想要高效计算出我想要的结果数据。为了存储数据,我们使用的数据存储方式有:mysql,oracle,表;csv文件excel文件hdfs文件系统hbaseredis,ehcache把数据从存储区拿出来作分析,我们使用的数据分析手段有:jav...
记《魅族大数据治理》分享讲座之本人感想分析 昨天参加了魅族大数据平台的一个技术分享活动,话题是《大数据治理之路》.魅族大数据平台工作人员分享了一些他们的大数据治理经验,很有内容,现整理一些如下. 首先,他们整理了一个治理流程,架构图(本人整理,非原版,下文图片亦是如此)如下:然后,依照架构图,大致讲了架构图中的每个模块,以及将模块串联起来的一个管理流程,流程图如下: 流程图上面,其中,“主数据管理” 模块是本人根据理解加的,...
spark常见操作系列(3)--spark读写hbase(1) spark读写hbase,先写一下hbase的常用操作方式.hbase建表:create 'hbase_test_table', 'info', {NAME=>'info', SPLITALGO => 'HexStringSplit', REPLICATION_SCOPE =>0}, SPLITS => ['S0','S1','S2', 'S3', 'S4'...
spark常见操作系列(2)--spark读写hadoop 真正开发大数据之前,本人折腾过hadoop,spark组件,其中把之前公司的日志放到hadoop 和hive里面去读写.但实际上,真正开发spark程序,遇到的坑,是十分多的.本篇主要介绍spark读写hadoop.hadoop的读写,有java方式,也有scala方式. 虽scala可以嵌入java代码,并不意味着直接把java 操作工具类放到scala程序就行了. hadoop 一般...
spark常见操作系列(1)--spark scala 以及hadoop不同版本的api区别 spark常见操作系列做数据处理有一段时间了,现把工作中遇到的问题和处理思路做个整理.文章分为5块,依次是:1. spark hadoop,hbase 版本划分, 以及spark1.5.2,scala2.10.4 与spark2.0, scala2.11版本区别 2. spark读写hadoop 3. spark读写hbase 4. spark广播变量的应用 5. spar...
Elasticsearch+hbase 实现hbase中数据的快速查询(三) 前2篇介绍了Elasticsearch的安装和工具类,虽然这样能用,但是还留有几个问题,对此有些困扰.多条件查询 工具类里面有个get精确查询和search搜索,但是那个只用来查询单一条件,如果查询界面上需要查询多个条件,那这个显然不够用.在网络上搜索了半天,发现没有比较好的java写的api参考,觉得有些奇怪,难道这种场景不常见吗? 官方文档中,有类似搜索api,比如MultiSear...
Elasticsearch+hbase 实现hbase中数据的快速查询(二) 接下来是Elasticsearch (版本5.x)中数据的CRUD 操作,为此,根据ES官网上的资料总结了一个工具类. 具体如下: (1)maven 添加依赖 (2)工具类代码:public class ESClientUtils { protected static Logger logger = Logger.getLogger(ESClientUtils.class); ...
通过jupyter远程编写代码,并远程提交到spark集群执行 几个月前折腾了一番jupyter(web 代码编辑器),感觉jupyter在编写某些科学文章是比较灵活.不过几乎是单机版的,在生产环境应用有限.之前因为需要在集群上执行编辑的代码,遂查找资料,又折腾了一番,使得jupyter可以应用于集群环境.我们的需求类似使用者可以写点简单的程序,然后在集群上面执行代码. 程序是python语言的.所以,集群是pyspark集群.在spark包下面,会有pysp...
Elasticsearch+hbase 实现hbase中数据的快速查询(一) 之前虽做了solr-hbase构建二级索引以及快速查询,但是考虑到以后生成的数据可能会很多,一旦到了亿级以上,solr查询效率会渐渐慢下来.老板不满意,又听了几位专家的建议,采用Elasticsearch+hbase 来实现hbase中数据的快速查询.首先,安装Elasticsearch. CDH中没有集成Elasticsearch,所以只好独立安装. 1.下载elasticsearch-...
solr-hbase二级索引及查询解决方案(二) 上一篇搭建了hbase的二级索引功能,只要hbase中有写数据,其就会自动的增量同步索引. 接下来是根据索引查询hbase中数据. 实测,查询索引数据,确实相当快,main方法测试,7200条数据,只需要1秒.查询hbase数据,同样数量数据,25个列,用了5秒,之前我们在3台集群上测试hbase查询,1万条,用了3秒,这里应该还有提升空间. 一般情况下,如果设置分页,那么这种速度是够用的,...
solr-hbase二级索引及查询解决方案(一) 最近要搞一个查询功能,是把hbase中的数据方便的查询出来.之前根据rowkey的查询方式,尽管有针对性设计过rowkey,有前缀查询,后缀查询,以及正则查询,但是实际上不够用. 参考了网络上的设计,建立二级索引是比较好的思路.于是就以solr存储hbase里面的列索引,实现了这个功能.需要的组件有: 1.hbase 2.solr 3.key-value store indexer ...
java python之间数据交互(使用jython) 最近有个功能需要java与python之间的数据交互,java需要把参数传给python,然后python计算的结果返回给java.于是就写了一个工具类.首先,maven 需要加载jython的依赖.工具类代码如下:import java.util.List;import java.util.Map;import java.util.Properties;import org.apache....
安装流行脚本编辑器(jupyter notebook)流程 jupyter notebook是一个流行的轻量的在线代码编辑器,可支持几十种程序语言. jupyter notebook 功能也很丰富,做文档,数据科学分析,计算都非常方便. jupyter notebook在window|linux上都有发行.window安装非常简单,linux安装比较复杂,本人为了安装jupyter notebook花了不少时间,现把教程分享一下.安装python2.7安
用ant自动compile|run|package spark程序 前段时间,需要写一个用户在前端编辑代码,后台自动生成scala程序的例子.其功能类似与web在线写代码,在线执行,出结果.一开始,不知从何下手,经同事提醒,可以用ant来自动编译程序,再结合sh脚本执行新的scala 编译后的程序. 于是折腾了一天,写了一个build.xml编译工具:
spark1.5.2 spark-shell报错:java.util.concurrent.RejectedExecutionException ERROR util.SparkUncaughtExceptionHandler: Uncaught exception in thread Thread[appclient-registration-retry-thread,5,main]
spark对电商用户订单行为特征分析(一) 最近在整理spark技术的应用,觉得 行为特征归类, 相似产品或相似功能推荐 这块比较热门. 网上发现一个网上大数据实验室,是厦门大学建立的一个网站,发布一些大数据的知识.其中有一个案例,叫 "淘宝双11数据分析与预测课程案例" ,我就用它练手.实验室网站链接: http://dblab.xmu.edu.cn/blog/spark/案例主要要求如下:对文本文件形式的原始数据集进
hbase安装 安装hbase要注意版本兼容性.特别Hadoop,hive,hbase 三者如果都要集成的话,三者的版本要对的上.一般是版本越新越好,本文使用的是1.2.6版本.(1)配置hosts(2)下载解压安装包(3)修改 hbase-env.shcd /usr/hbase-1.2.6vi ./conf/hbase-env.sh#set java pathexport JAVA_HOME=/alidata/server/java#set hbase conf pathexport HBASE
hadoop进程之间的对应关系和相关概念 hadoop进程之间的对应关系和相关概念hadoop由于是应用于集群,所以进程比较多,且主从服务器上的进程并不完全一样.namenode 和 jobtracker属于master, datanode 和 tasktracker属于slave .SecondaryNameNode 内存需求和NameNode 在一个数量级上,所以通常secondary NameNode(运行在单独的物理机器上)和NameNode运行在不同的机器上.
maven3.5+hadoop2.7.3统计米骑测试日志KPI指标(三) 这次把日志记录中某些特定的访问ip区分出来.比如101.226.93, 112.17.244, 218.26.54开头的ip区分放到另一个输出文件里面.这次样本数据还是以那个1万条日志,2.5M大小,以这个作为统计样本。见文章:http://blog.csdn.net/cafebar123/article/details/73928303(1)统计每个访问ip出现的次数,这个不说了,
maven3.5+hadoop2.7.3统计米骑测试日志KPI指标(二) maven3.5+hadoop2.7.3统计米骑测试日志KPI指标(二)前面粗略统计了某些接口的pv,下面统计下ip的访问次数,并按次数从大到小显示出来.仍以那个1万条日志,2.5M大小,以这个作为统计样本。
对于谷歌浏览器(chrome)容易上瘾的分析 谷歌浏览器是个很好很流行的浏览器,它更有一个奇妙的特征,是容易让人上瘾。下面分析一下哪些让我特别上瘾的地方。(1)打开(关闭)标签的动态效果它的默认标签的长,宽跟别的浏览器都不同,对我而言,是看着最舒服的。打开/关闭 标签速度很快,尽管很快,但打开关闭的瞬间,让人有一种兴奋、很(。・∀・)ノ゙嗨的感觉,就像瞬间让人的大脑释放多巴胺。这种快感难以察觉到,但从间接的地方
app接口安全性设计浅析 之前面试的时候被问到这个,app接口安全性,这个因不同的场景,要考虑的情况也不一样。下面把自己的见闻和思考写一下吧。(1)签名与加密 这个一般接口中会有的,典型的有MD5和AES。 一个接口形式是: http://test.com/api/test.html?userId=9×tamp=14324344&randomString=532sgdfg&sgin=GGERH5363463s
jdk1.7+Eclipse+Maven3.5+Hadoop2.7.3构建hadoop项目 Eclipse+Maven3.5+Hadoop2.7.3构建hadoop项目hadoop2.7.3 wordcount hadoop开发环境
win10+Ecplise运行wordcount程序 win10+Ecplise运行wordcount程序(1)hadoop.dll下载http://download.csdn.net/detail/chenxf10/9621093
hadoop2.7.3分布式集群搭建 hadoop2.7.3分布式集群搭建本文介绍搭建分布式集群环境,机器:master(centos7.2 64 1台),slave1(centos7.2 64 1台)先在master上面配置。(1)修改hosts文件vi /etc/hosts把host原来的内容改成(见文章结尾的说明):vi /etc/sysconfig/networkmaster写入:NETWORKING=yesHOST
hadoop2.7.3在centos7上部署安装(单机版) (1)hadoop2.7.3下载下载地址:http://hadoop.apache.org/releases.html(注意是binary文件,source那个是源码)(2)解压tar.gz(3)配置hadoop
编译java程序时的一个问题 Exception in thread "main" java.lang.NoClassDefFoundError: com\example\Main<wrong name:com\example\Main>问题一个解决思路
安卓弹出提示框的属性和自定义宽度和高度的疑问 (1)AlertDialog 的改变是自适应内部控件的。也就是说,内部控件的长宽等属性变化,AlertDialog 才会整体改变。(2)AlertDialog 派生自Dialog。安卓window与Dialog的区别是,window是主窗口,Dialog是辅助窗口。(3)我需要的是任意改变AlertDialog的宽、高以及形状等特性。宽、高也不知道如何任意设置
对arraylist中size大小的问题 在做分页查询时,定义一个List实例,private List<Users> users = new ArrayList<Users>();然后将数据装载到users 里面,private Users user; while(it.hasNext()){ Object[] us = (Object[]) it.next(); Users uss = new CheckSell(
对Extjs一类前端技术的分析思维总结 对Extjs一类前端技术的分析思维总结.我在Extjs上面浪费了不少生命。我觉得我的青春不能糟蹋在这上面,让我有些讨厌这类前端的体力活。因此,我花了点时间把这时间里面的一些经验总结一下。我总结了几点思路:(1)分开前端和后端。 (2)构建模板原型。 (3)由简到繁。 (4)局部测试,及时回退。下面一一述之。
python爬虫程序所需的工具整理 事情起于想做一个抓取网页的程序。我想抓一些资讯。问题是,许多网站采用js来控制翻页,我之前用java写的程序只能抓到首页,无法翻页。于是在网上淘,淘啊淘,嫖啊嫖,找到这篇, http://www.comingcode.com/?p=275 介绍如何抓取js中内容的。这篇文章流传范围挺广的。不少人都转载了。里面提到的3种方法,第一种,我在csdn看了本专门介绍selenium