- 博客(88)
- 收藏
- 关注
原创 开源大数据利器汇总
类别名称官网备注查询引擎Phoenixhttps://phoenix.apache.org/Salesforce公司出品,Apache HBase之上的一个SQL中间层,完全使用Java编写Kylinhttp://kylin.ioeBay开源的基于Hadoop的分布式OLAP分析引擎,旨在减少Hadoo
2017-03-06 13:22:29 1903
转载 Cascading——针对Hadoop MapReduce的数据处理API
Cascading是一个新式的针对Hadoop clusters的数据处理API,它使用富于表现力的API来构建复杂的处理工作流,而不是直接实现Hadoop MapReduce的算法。该处理API使开发者可以快速装配复杂的分布式流程,而无需“考虑”MapReduce。同时还可以基于流程之间的依赖及其它元数据信息来有效地进行调度。Cascading API的核心概念是管道和流。所
2017-08-08 09:33:18 533
转载 hive数据倾斜总结
本文转载自:http://blog.csdn.NET/lovingprince/article/details/7264549几个比较特殊的点都提到了,大家可以作为参考。在做Shuffle阶段的优化过程中,遇到了数据倾斜的问题,造成了对一些情况下优化效果不明显。主要是因为在Job完成后的所得到的Counters是整个Job的总和,优化是基于这些Counters得
2017-06-28 17:08:10 600
原创 cascading helloworld 案例
Cascading是一个数据处理的API和查询处理计划,用于定义,共享数据处理工作流,还能在单一计算节点或分布式计算集群上执行数据处理工作流。在单一计算节点,Cascading的本地模式(local mode)可以在部署到集群之前,用于测试代码和处理本地文件。在一个部署了Apache Hadoop的分布式计算集群上,Cascading在hadoop API上增加了一个抽象层,大大简化了Hadoop
2017-06-27 14:24:47 494
转载 git提交代码到远程服务器
在已有的Git库中搭建新库,并且将本地的git仓库,上传到远程服务器的git库中,从而开始一个新的项目首先,在本地新建文件夹abc,进入到abc里面,然后git init。这样就在本地初始化了一个git项目abc。然后,登录到远程的git服务器上,到gitrepo目录下面,mkdir abc.git。然后进入abc.git目录。git --bare init。这样就在服务器端建立了一
2017-06-26 16:07:13 1212
转载 Teradata学习笔记
1. LIKE用法select first_name,last_name from employee where last_name like all('%E%','%S%');select first_name,last_name from employee where last_name like any/some('%E%','%S%'); Teradata缺省不区分大小写,
2017-06-23 10:37:49 2943
转载 Eclipse 使用技巧之 ---- 查看本类调用和被调用列表
转自:http://tianjun309.iteye.com/blog/854382当工程复杂的情况下,用眼睛去人工查看调用情况是很费力也没必要的。我们需要用 Eclipse 来做这点。(1) 我们查看本类调用他类情况可以直接看 import 。(2) 如果要查看本类被其它类的调用情况,使用下面方法。 (3) 可以查看到所有调用此类的地方。
2017-06-22 10:13:28 423
转载 Linux执行crontab脚本出错
Linux下用crontab执行定时任务不会缺省的从用户profile文件中读取环境变量参数,经常导致在手工执行某个 脚本时是成功的,但是到crontab中试图让它定期执行时就是会出错。这是因为用户登陆Linux操作系统的时候,”/etc/profile”, “~/.bash_profile”等配置文件会被自动执行。2种方法可以解决这个问题,1、在Shell文件里面获取环境变量值的路径写成绝对路
2017-03-17 15:19:42 504
转载 Zookeeper
作者:张云聪链接:https://www.zhihu.com/question/35139415/answer/61562488来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。ZooKeeper & kazoozookeeper作为一个开源的分布式应用协调系统,已经用到了许多分布式项目中,用来完成统一命名服务、状态同步服务、集群管理、分布式应用
2017-03-02 19:54:30 574
转载 Java关键字final、static使用总结
一、final 根据程序上下文环境,Java关键字final有“这是无法改变的”或者“终态的”含义,它可以修饰非抽象类、非抽象类成员方法和变量。你可能出于两种理解而需要阻止改变:设计或效率。 final类不能被继承,没有子类,final类中的方法默认是final的。 final方法不能被子类的方法覆盖,但可以被继承。 fi
2017-02-22 12:17:04 448
转载 hive内置函数
目录:初始HiveHive安装与配置Hive 内建操作符与函数开发Hive JDBChive参数Hive 高级编程Hive QLHive Shell 基本操作hive 优化Hive体系结构Hive的原理 配套视频课程 第一部分:关系运算Hive支持的关系运算符
2017-02-20 14:50:17 1054
转载 MapReduce源码解析之Outputforamt
OutputFormat过程的作用就是定义数据key-value的输出格式,给你处理好后的数据,究竟以什么样的形式输出呢,才能让下次别人拿到这个文件的时候能准确的提取出里面的数据。这里,我们撇开这个话题,仅仅我知道的一些定义的数据格式的方法,比如在Redis中会有这样的设计:[key-length][key][value-length][value][key-length][key][va
2017-02-20 13:50:29 827
转载 深入理解 Java中的 流 (Stream)
最近在看《Hadoop:The Definitive Guide》,对其分布式文件系统HDFS的Streaming data access不能理解。基于流的数据读写,太抽象了,什么叫基于流,什么是流?Hadoop是Java语言写的,所以想理解好Hadoop的Streaming Data Access,还得从Java流机制入手。流机制也是JAVA及C++中的一个重要的机制,通过流使我们能够自由地操作
2017-02-20 10:33:04 577
转载 MapReduce之inputformat源码解析
1. 概述我们在设置MapReduce输入格式的时候,会调用这样一条语句:1job.setInputFormatClass(KeyValueTextInputFormat.class);这条语句保证了输入文件会按照我们预设的格式被读取。KeyValueTextInputFormat即为我们设定的数据读取
2017-02-18 14:02:09 607
转载 linux下用cron定时执行任务的方法
名称 : crontab 使用权限 : 所有使用者 使用方式 : crontab file [-u user]-用指定的文件替代目前的crontab。 crontab-[-u user]-用标准输入替代目前的crontab. crontab-1[user]-列出用户目前的crontab. crontab-e[user]-编辑用户目前的crontab.
2017-02-17 20:34:25 2871
转载 对现有Hive的大表进行动态分区
分区是在处理大型事实表时常用的方法。分区的好处在于缩小查询扫描范围,从而提高速度。分区分为两种:静态分区static partition和动态分区dynamic partition。静态分区和动态分区的区别在于导入数据时,是手动输入分区名称,还是通过数据来判断数据分区。对于大数据批量导入来说,显然采用动态分区更为简单方便。- 对现存hive表的分区首先,新建一张我们需要的分区以后的
2017-02-15 15:17:30 519
转载 hive中order by,sort by, distribute by, cluster by作用以及用法
1. order by Hive中的order by跟传统的sql语言中的order by作用是一样的,会对查询的结果做一次全局排序,所以说,只有hive的sql中制定了order by所有的数据都会到同一个reducer进行处理(不管有多少map,也不管文件有多少的block只会启动一个reducer)。但是对于大量数据这将会消耗很长的时间去执行。 这里跟传统的sql
2017-02-15 13:39:05 445
转载 Mapreduce执行过程分析(基于Hadoop2.4)——(三)
4.4 Reduce类4.4.1 Reduce介绍整完了Map,接下来就是Reduce了。YarnChild.main()—>ReduceTask.run()。ReduceTask.run方法开始和MapTask类似,包括initialize()初始化,根据情况看是否调用runJobCleanupTask(),runTaskCleanupTask()等。之后进入正式的工作,主要有这
2017-02-13 15:30:03 367
转载 Mapreduce执行过程分析(基于Hadoop2.4)——(二)
转载自:http://www.cnblogs.com/Scott007/p/3840125.html4.3 Map类 创建Map类和map函数,map函数是org.apache.hadoop.mapreduce.Mapper类中的定义的,当处理每一个键值对的时候,都要调用一次map方法,用户需要覆写此方法。此外还有setup方法和cleanup方法。map方法是当map
2017-02-13 15:27:12 691
转载 Mapreduce执行过程分析(基于Hadoop2.4)——(一)
转载自:http://www.cnblogs.com/Scott007/p/3836687.html1 概述该瞅瞅MapReduce的内部运行原理了,以前只知道个皮毛,再不搞搞,不然怎么死的都不晓得。下文会以2.4版本中的WordCount这个经典例子作为分析的切入点,一步步来看里面到底是个什么情况。2 为什么要使用MapReduceMap/Reduce,是
2017-02-13 15:26:17 490
转载 Hadoop中reduce端shuffle过程及源码解析
一、概要描述 在Child的main函数中通过TaskUmbilicalProtocol协议,从TaskTracker获得需要执行的Task,并调用Task的run方法来执行。在ReduceTask而Task的run方法会通过Java反射机制构造Reducer,Reducer.Context,然后调用构造的Reducer的run方法执行reduce操作。不同于map任务,在执行reduce任务
2017-02-13 13:42:09 739
转载 Hadoop中Map端shuffle过程及源码解析
分析的源码是基于Hadoop2.6.0。 官网上面的MapReduce过程 Map端shuffle的过程: 在执行每个map task时,无论map方法中执行什么逻辑,最终都是要把输出写到磁盘上。如果没有reduce阶段,则直接输出到hdfs上,如果有有reduce作业,则每个map方法的输出在写磁盘前线在内存中缓存。每个map task都有一个环状的内存缓冲区,存储着map的输
2017-02-13 13:39:25 783
转载 Hadoop的shuffle过程
转载地址:http://hi.baidu.com/jiangyangw3r/item/1995d758e4c5fd10db163544MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据。第一个提出该技术框架的是Google 公司,而Google 的灵感则来自于函数式编程语言,如LISP,Scheme,ML 等。
2017-02-13 13:37:36 1052
转载 Object类的方法
protected Object clone()创建并返回此对象的一个副本。 boolean equals(Object obj)指示其他某个对象是否与此对象“相等”。 protected void finalize()当垃圾回收器确定不存在对该对象的更多引用时,由对象的垃圾回收器调用此方法。 Class getClass()返回此 Object 的运行时类。 in
2017-02-12 10:13:59 347
转载 海量数据处理问题汇总
第一部分、十道海量数据处理面试题1、海量日志数据,提取出某日访问百度次数最多的那个IP。首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法, 比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大 的几个)及相
2017-02-10 15:59:29 497
转载 Linux mail命令用法
在Linux系统下mail命令的测试1. 最简单的一个例子: mail -s test admin@aispider.com这条命令的结果是发一封标题为test的空信给后面的邮箱,如果你有mta并且后面的邮箱不会挡这种可能莫名奇妙的信的时候,就能收到这封信了。如果你不想被这种乱七八糟的事情干扰,后面的邮箱请使用本地帐户。 2. 第二个例子: 三种常用格式发信
2017-01-03 14:42:32 11044
转载 YARN resourceManager解析
在YARN中,ResourceManager负责集群中所有资源的统一管理和分配,它接收来自各个节点(NodeManager)的资源汇报信息,并把这些信息按照一定的策略分配给各个应用程序(实际上是ApplicationManager)。ResourceManager主要有四种功能:1.处理来自client的请求2.启动和监控ApplicationMaster3
2017-01-02 21:13:13 1328
转载 mapreduce 辅助类GenericOptionsParser,Tool和ToolRunner
辅助类GenericOptionsParser,Tool和ToolRunner为了简化命令行方式运行作业,Hadoop自带了一些辅助类。GenericOptionsParser是一个类,用来解释常用的Hadoop命令行选项,并根据需要,为Configuration对象设置相应的取值。通常不直接使用GenericOptionsParser,更方便的方式是:实现Tool接口,通过ToolRunne
2017-01-02 18:29:22 2233
转载 Linux 重定向
转:http://blog.csdn.net/songyang516/article/details/6758256 1重定向1.1 重定向符号> 输出重定向到一个文件或设备 覆盖原来的文件>! 输出重定向到一个文件或设备 强制覆盖原来的文件>> 输出重定向到一个文件
2017-01-02 14:50:11 556
转载 linux sed和awk解析
sed 工具简介在了解了一些正规表示法的基础应用之后,再来呢?呵呵~两个东西可以玩一玩的,那就是 sed 跟 awk 了! 这两个家伙可是相当的有用的啊!举例来说,鸟哥写的 logfile.sh 分析登录文件的小程序, 绝大部分分析关键词的取用、统计等等,就是用这两个宝贝蛋来帮我完成的! 那么你说,要不要玩一玩啊?! ^_^我们先来谈一谈 sed 好了,基本上, sed 可以分析
2017-01-02 13:50:11 452
转载 linux sort,uniq,cut,wc命令详解
sortsort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出。如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序。sort语法[root@www ~]# sort [-fbMnrtuk] [file or stdin]选项与参数:-f :忽略大小写的差异,例如 A 与 a 视为编码相同;-b
2017-01-02 13:17:37 477
转载 Spark2.1新特性
Spark 2.1.0是2.x分支中的第二个重要的发布版本(第一个是2.0.x),在该版本中,structured streaming有重大改进,增加了event mark watermark机制和对kafka 0.10.0的支持等特性,为其用于生产环境又迈进一步。除此之外,Spark其他重大改进集中在易用性、稳定性和改进等方面,解决了1200多个ticket(包括新功能、bug fix以及性
2016-12-30 16:08:10 5218
转载 JAVA必备基础知识点
Java基础1、 简述Java的基本历史java起源于SUN公司的一个GREEN的项目,其原先目的是:为家用消费电子产品发送一个信息的分布式代码系统,通过发送信息控制电视机、冰箱等 2、 简单写出Java特点,写出5个以上,越多越好简单的、面向对象的、分布式的、安全的、稳定的、与平台无关的、可解释的、多线的、动态的语言。 3、 什么是Ja
2016-12-30 16:01:32 440
转载 JAVA知识点总结
本篇文章会对面试中常遇到的Java技术点进行全面深入的总结,帮助我们在面试中更加得心应手,不参加面试的同学也能够借此机会梳理一下自己的知识体系,进行查漏补缺(阅读本文需要有一定的Java基础;若您初涉Java,可以通过这些问题建立起对Java初步的印象,待有了一定基础后再后过头来看收获会更大)。 原文:http://blog.csdn.net/qq_35101189/article/det
2016-12-30 15:59:07 390
原创 LInux的启动过程
当主机加电时,系统启动的过程就正式开始了。Linux系统启动的过程可以简单的分为以下几类:(1)主机加电自检:按下主机电源键之后,启动过程就开始了。系统会首先加载BIOS(Basic Iput Output System,基本的输入输出系统),检查连接到系统的设备,并枚举和初始化设备。如果自检的过程中没有发现错误,系统会根据BIOS中的设置查找处于活动状态并能用于引导系统的设备(通常是光盘,硬
2016-12-30 14:20:11 509
原创 Shell编程二:Shell中的数组
1.数组的定义完整的数组元素由数组名和索引组成如下:array[index]在Bash中定义数组有两种方法:(1)直接在定义的时候为所有的数组元素赋值array=(1 2 3 4 5 6)(2)对数组的每个 元素进行分别赋值array[0]=4; array[3]=3;array[1]=2;使用这种方法对数组进行赋值的时候,可以不按照数组下标的先后顺序进行操作,也不必对数组中每
2016-12-30 13:38:19 526
原创 shell编程一:初识shell
Shell脚本同Linux系统中的其它文件一样,可以不使用扩展名。但为了方便识别,通常建议Bash脚本文件名以sh结尾,Tcsh脚本文件以csh结尾。 vim bash.sh创建一个脚本文件#!/bin/bash上面是一个Bash脚本的开头,这一行的内容告诉系统应该使用哪一种Shell来执行这个脚本,或者使用哪一种Shell来解释执行这个脚本中的内容。这里表示使用Bash。通常以#开
2016-12-30 10:51:40 634
转载 mapreduce shuffle 详解
转载地址:http://hi.baidu.com/jiangyangw3r/item/1995d758e4c5fd10db163544MapReduce 是现今一个非常流行的分布式计算框架,它被设计用于并行计算海量数据。第一个提出该技术框架的是Google 公司,而Google 的灵感则来自于函数式编程语言,如LISP,Scheme,ML 等。
2016-12-28 14:34:37 368
转载 JAVA多线程和并发基础面试问答
原文链接 译文连接 作者:Pankaj 译者:郑旭东 校对:方腾飞多线程和并发问题是Java技术面试中面试官比较喜欢问的问题之一。在这里,从面试的角度列出了大部分重要的问题,但是你仍然应该牢固的掌握Java多线程基础知识来对应日后碰到的问题。(校对注:非常赞同这个观点)Java多线程面试问题1. 进程和线程之间有什么不同?一个进程是一个独立(self contai
2016-12-26 13:37:10 405
转载 Java NIO使用及原理分析 (四)
转载自:李会军•宁静致远在上一篇文章中介绍了关于缓冲区的一些细节内容,现在终于可以进入NIO中最有意思的部分非阻塞I/O。通常在进行同步I/O操作时,如果读取数据,代码会阻塞直至有 可供读取的数据。同样,写入调用将会阻塞直至数据能够写入。传统的Server/Client模式会基于TPR(Thread per Request),服务器会为每个客户端请求建立一个线程,由该线程单独负责处
2016-12-21 14:49:27 332
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人