Error: homebrew-core is a shallow clone. mac brew update 失败,报错信息如下:解决办法:cd /usr/local/Homebrew/Library/Taps/homebrewrm -rf homebrew-corerm -rf homebrew-caskbrew upgrade
Flink Mac本地安装、运行 一、flink本地安装先看下是否有java,不过没有也没事,用的是open-jdk,命令如下:#1、查看java版本java -version#2、安装flinkbrew install apache-flink#3、查看flink版本flink --version
Flink watermark浅析 一、功能问题:Flink实时计算使用窗口时,消息会乱序,使用Event Time计算时,会有消息晚到。解决方案:假设我们把延迟超过5秒的消息丢掉(或特殊处理),那么在每条消息上打一个时间戳(watermark 水位线),这个时间是事件时间减去5s,表示的含义是这个水位线之前的数据都到了,告诉窗口可以出发计算了。补充时间概念:(1)事件时间:业务系统的业务发生或更新时间。(2)抽取时间:进入到消息队列的时间。(3)处理时间:实时计算的时间。二、原理1、watermark本.
Hive--对空值和NULL的处理 问题描述Hive中默认将NULL存为\N,NULL类型的字符串如何检索?创建一个测试表及准备测试数据,SQL如下:create table test_null (id int, age string) ROW FORMAT DELIMITEDFIELDS TERMINATED BY ','LINES TERMINATED BY ''STORED AS TEXTFILE;测试数据如下:1,232,24c3,32d4,305,NULL6,\N将数..
java使用--Exception 异常信息 StackTraceElement 在某些场景下,直接使用e.printStackTrace(); 或者使用log4j打印异常,在日志收集系统中不好检索。下面方法将异常拼接成一行,使用 StackTraceElement。package com.ajl.usage.exception;/** * @Author anjinlong * @create 2020-10-02 17:05 * @description description */public class ExceptionUsage { ...
java用法--HashMap putAll 类:HashMap方法:putAll()作用:将map2的数据全部放入到map1中,如果map1中已经存在key则更新,如果不存在则插入。测试代码:public static void putAllTest() { System.out.println("putAll 将map2的数据全部放入到map1中,如果map1中已经存在key则更新,如果不存在则插入。"); HashMap<String, String> map1 = new H.
Git: Github提示Key is already use 背景:在Github中为用户添加SSH Key的时候报Key is already use,根据错误提示很显然,所添加的SSH Key已经被其他账号使用后,才会出现这个错误。现在有两种解决办法,第一,找到帐号删除Key;第二,重新生成Key找到使用该Key的帐号,在Github个人信息中有SSH and GPG keys这一栏,管理着所有的SSH Keys,找到匹配的Key删除,另外一个账号就可以使用该Key了重新生成SSH Key,仅需几个简单的步骤1.打开终端2.输入以下命令,并执行$ s
hadoop HDFS Federation 参考文档:http://hadoop.apache.org/docs/r2.7.3/hadoop-project-dist/hadoop-hdfs/Federation.html
Hadoop partitioner及自定义partitioner 一、hadoop partitioner所有partitioner都继承自抽象类Partitioner ,实现getPartition(KEY var1, VALUE var2, intvar3),hadoop自带的partitioner有:(1)TotalOrderPartitioner(2)KeyFieldBasedPartitioner(3)BinaryPartiti
Hadoop MapReduce 修改输出文件名 MultipleOutputs 需求:修改mapreduce的输出文件名称 为自己想要的名字工具:MultipleOutputs默认文件名:part-r-xxx 或者000178_0修改后为: 自定义名字-r-xxx 后边的r-xxx还没有去掉主要流程:声明 multipleOutputs在setup方法中初始化在reduce方法中调用 public voidwrite(KEYOUT key, VALUEOUT value, String baseOutputPath)在cleanup放中close
HBase源码分析 -- HBase Region 拆分(split) 代码版本:hbase-1.2.6工程:hbase-server类:org.apache.hadoop.hbase.regionserver.HRegion1、判断是否需要切分方法: checkSplit返回值: splitpoint做了一些判断后,其实是调用:byte[] ret = splitPolicy.getSplitPoint();2、切分策略o
hive优化总结 1、列裁剪、分区裁剪只查询需要的字段和分区,不使用select*2、join优化小表放左边3、空值处理(1)NULL和数字相加的问题,为避免这种情况先nvl 或者coalesce 先处理(2)NULL 值关联时,可排除掉不参与关联,也可随机分散开避免倾斜4. 排序优化不需要全局排序时,可用distribute by sort by 而不用
一次hive reduce oom 处理:Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTas 问题: hive job失败,现象reduce失败,起了新的reduc而后还是失败,最终job失败错误:2017-06-07 16:43:20 INFO Examining task ID: task_*** (and more) from job job_***2017-06-07 16:43:21 INFO FAILED: Execution Error, return code
hive2.0 存储过程 hplsql 在hive2.0中集成了hplsql,可用用hplsql命令执行存储过程。hplsql是一个开源项目,地址:http://www.hplsql.org/home,现在集成到hive2.0了。使用方式:hplsql -f script.sql hplsql -e "sql" hplsql -e "PRINT a || ', ' || b" -d a=Hello -d b=worl
LLAP 全称: Live Long and Process (LLAP)在hive2.0中添加了LLAP功能(HIVE-7926),文档jira 是HIVE-9850。配置LLAP可以参考 Configuration Properties. 中的llap部分概览在最近几年,hive的速度有了显著的提升,这要感谢社区贡献的多种特征和提升其中包括Tez和CBO,下边是我们要把h
hive源码分析--row_number源码分析 前言row_nubmer使用说明: row_number接收到的数据是已经分区排序的数据, row_number() OVER (PARTITION BY c ORDER BY d)description = @Description( name = "row_number", value = "_FUNC_() - The ROW_NUMBER function as
hive源码分析--导入到eclipse 先去hive官网下载源代码,我现在阅读hive2.1.0官网: http://mirrors.cnnic.cn/apache/hive/通过import maven工程后需要修改两个地方:1、修改 .project hive-exec org.eclipse.jdt.core.javabuilder org.ecli
java线程池ThreadPoolExecutor import java.util.concurrent.ArrayBlockingQueue;import java.util.concurrent.ThreadPoolExecutor;import java.util.concurrent.TimeUnit;public class ThreadPoolTest { public static void main(String...
清除 git 上某个文件的历史 git filter-branch --force --index-filter 'git rm --cached --ignore-unmatch 文件名' --prune-empty --tag-name-filter cat -- --allgit push origin master --forcerm -rf .git/refs/original/ git reflog expir
Spring boot 入门 实例 欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
Spark运行架构 基本概念:Application:用户写的spark程序Driver Program:运行app的main()函数并创建SparkContextRDD Graph:RDD是Spark的数据结构,可以通过算子进行操作(Transformation和Action)。当RDD遇到Action算子时将之前的所有算子形成有向无环图(DAG),再在spark中转化为job提交到集群执行。一个app
hadoop 无法查看job信息 8088无法访问 需要配置一些8088The http address of the RM web application.yarn.resourcemanager.webapp.address${yarn.resourcemanager.hostname}:8088
hadoop2.7配置HA,使用zk和journal 本文使用前提:从noha到ha机器分配:nn1namenode,DFSZKFailoverControllernn2namenode,DFSZKFailoverControllerslave1datanode,zookeeper,journalnodeslave2datanode,zookeeper,journalnode
hadoop做HA后,hbase修改 由于hadoop做了HA,namenode可能进行切换,hbase中的配置要做修改:hbase-site.xml中,rootdir改为和hadoop的dfs.nameservices一样,并将hadoop的core-site.xml和hdfs-site.xml拷贝到hbase的conf下,然后重启hbasehbase.rootdirhdfs://masters/hbase
Python 基础语法(一) Python 基础语法(一)Python的特点 1. 简单 Python是一种代表简单思想的语言。 2. 易学 Python有极其简单的语法。 3. 免费、开源 Python是FLOSS(自由/开放源码软件)之一。 4. 高层语言 使用Python编写程序时无需考虑如何管理程序使用的内存一类的底层细节。 5. 可移植性
windows7 配置 python开发环境 1、安装python2.7 官网下载,安装,配置环境变量 path,命令行 运行python2、easy_install 安装win7 64位必须使用ez_setup.py进行安装。方法是下载ez_setup.py后,在cmd下执行 python ez_setup.py,即可自动安装setuptools。下载完成后双击执行安装文件,即可在D:\Program Fi
Hadoop源码分析---TextInputFormat、FileInputFormat、LineRecordReader 作用:1、将输入切分成split,确定split大小,map个数。 由getSplits方法实现。 2、为mapper提供输入数据,key/value形式。getRecordReader方法核心算法:1、文件切分算作用:确定split个数。概念: globalSize: totalsize/numSplits ; minSize: InputSplit 最小值 配
Thrift学习笔记—IDL基本类型 [-]1基本类型2特殊类型3struct4容器Containers5枚举enmu6常量定义和类型定义7异常Exceptions8服务Services9名字空间Namespace10注释Comment11Includes thrift 采用IDL(Interface Definition Language)来定义通用的服务接口,并通过生成不同的语言代理实现来达到跨语言
windows配置thrift开发环境 1)安装thrift:到thrift官网下载exe文件,然后将文件重命名为thrift.exe,拷贝到c:\windows目录下,然后就可以在dos环境下使用了 如:thrift -gen java D:\mywork\javaProject\thriftTest\test.thrift ,输出的java文件默认输出到当前目录下,也可以使用-o参数指定输出路径
apache 配置---- 同一个域名配置多个root目录 由来:有个数据系统的域名被领导分给其他组用了,这系统只能用ip访问了,本想改完apache配置,和documentroot后就没问题了,哪知道这机器上还有其他项目需求:同一个ip下需要有多个documentroot方法:使用别名Alias,例如:Alias /anjl /var/www/anjl/当访问 http://ip/anj 时,会到/var/www/anjl/下
hadoop异常之 reduce拉取数据失败 (error in shuffle in fetcher) 主要错误信息:Error: org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: error in shuffle in fetcher#43解决办法:限制reduce的shuffle内存使用 hive:set mapreduce.reduce.shuffle.memory.li
hadoop 计算 pv uv 使用hadoop 进行页面的pv uv 计算不推荐的做法 将访问者的cookie放在hashmap中进行去重计算uv,因为当访问量大时,会将hashmap撑爆,报出java.lang.OutOfMemoryError: Java heap space推荐做法:使用textpair 将cookie作为second key 进行排序,在reduce中进行判断,如果上一个co
awk 常用命令 1、统计列数cat XX |awk -F"\t" '{print NF}' |more2、对某一列的值进行判断cat xx |awk -F "," '{if($2=="3"){ print $2}}' |more
javax.mail 发邮件 添加附件 都是javax.mail 的使用,没有太多要讲的,代码贴上自己试验吧private MimeMessage mailMessage; // 邮件对象 private Multipart mp;// 附件添加的组件 private List files = new LinkedList();// 存放附件文件 /** * 增加发送附件 * * @param filename
java 生成xml 编码 utf-f 、 gb2312 没有难度,直接上代码了/** * * @param fileName */ public static void createXmlUtf_8(String fileName) { Element root = DocumentHelper.createElement("root"); Document document = DocumentHelper.create
hadoop 计数器 一、hadoop有很多自带的计数器,详细看过运行log的都会看到各种数据二、用户自定义计数器在开发中经常需要记录错误的数据条数,就可以用计数器来解决。1、定义:用一个枚举来定义一组计数器,枚举中的每个元素都是一个计数器在main类中定义enum RecordsCounter{ RIGHT_COUNTER, WRONG_COUNTER };2、使用
hive join 优化 --小表join大表 1、小、大表 join在小表和大表进行join时,将小表放在前边,效率会高,hive会将小表进行缓存。2、mapjoin使用mapjoin将小表放入内存,在map端和大表逐一匹配,从而省去reduce。例子:select /*+MAPJOIN(b)*/ a.a1,a.a2,b.b2 from tablea a JOIN tableb b ON a.a1=b.b1在0.7版本
hive union all 使用 功能:将两个表中的 相同的字段拼接到一起特点:union all不去重,数据会重复测试:create external table IF NOT EXISTS temp_uniontest_ta(a1 string,a2 string)partitioned by (dt string)row format delimited fields terminated by '...
shell中获取时间,作为目录格式 最近写了一个小程序,需要用到时间,遍历作为目录的一部分#!/bin/bashfor i in {1..30}dodate=`date +%Y/%m/%d -d " $i days ago " `echo $datedonefor循环,取最近n天的日期。核心就是date=`date +%Y/%m/%d -d " $i days ago " `
hive 各种 join (left outer join、join、full outer join) 一、概念1、左连接left outer join以左边表为准,逐条去右边表找相同字段,如果有多条会依次列出。2、连接join找出左右相同同的记录。3、全连接full outer join包括两个表的join结果,左边在右边中没找到的结果(NULL),右边在左边没找到的结果。会对结果去重,返回并集。二、实验1、准备数据create externa...
HDFS 读取、写入、遍历目录获取文件全路径、append 1、从HDFS中读取数据Configuration conf = getConf(); Path path = new Path(pathstr); FileSystem fs = FileSystem.get(conf); FSDataInputStream fsin= fs.open(path ); BufferedReader br =null; Strin
HBase-scan API 通过scan读取表中数据 直接贴代码啦/** * * @param zkIp * @param zkPort * @param tablename * @param startRow 传null扫全表 * @param stopRow 已~结尾 * @throws Exception */ public static void scanTable(String zkIp,Stri
Hadoop多目录输入,join,进入reduce,数据流分析 前言在做需求时,经常遇到多个目录,也就是多个维度进行join,这里分析一下,数据是怎么流动的。1、多目录输入使用MultipleInputs.addInputPath() 对多目录制定格式和map2、数据流分析map按行读入数据,需要对不同的输入目录,打上不同的标记(这个方法又叫reduce端连接),map在输出后会进行partition和sort,按照key进行排序,然后输
hadoop 多目录输入,map到reduce如何排序 使用MultipleInputs.addInputPath 对多个路径输入现在假设有三个目录,并使用了三个mapper去处理,经过map处理后,输出的结果会根据key 进行join,如果使用TextPair,会根据第一个字段jion,第二个字段排序然后在作为reduce的输入,进行计算
hive 常用命令 1、查看表结构信息 desc formatted table_name; desc table_name;查看关联文件: desc extended f_tblog_online_mds;2、查看分区show partitions table_name;3、根据分区查询,提高速度select table_coulm from table_name whe
斯坦福大学Andrew Ng教授主讲的《机器学习》公开课观后感 http://liliphd.iteye.com/blog/1929358近日,在网易公开课视频网站上看完了《机器学习》课程视频,现做个学后感,也叫观后感吧。 学习时间 从2013年7月26日星期五开始,在网易公开课视频网站上,观看由斯坦福大学Andrew Ng教授主讲的计算机系课程(编号CS229)《机器学习》(网址http://v.163.com/special/opencou
linux awk命令详解 转自: http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2858470.html简介awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大。简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。awk有3个不同版本:
eclipse 使用技巧、经验 (编码、格式化模板、字体) 1、设置编码为UTF-8 在Windows- 选择右侧框中的Text File encoding,改为utf-82、导入 格式化模板windows-》preference—》java-》code style-》code template点击import按钮3、字体大小Window - Preferences-》General
svn 代码 回滚 先说方法,再说原理一、方法使用tortoisesvn (小乌龟)1、在要回滚的项目,或文件上,右键 -> 显示日志 ,然后你选择想要回滚到的版本,在那个版本上右键->恢复到此版本 2、commit 代码二、原理将之前的版本回滚到了本地,然后在提交,成为最新的版本
svn merge 一、Trunk: 主干,主工作目录,是所有开发功能的,最新版的,测试的,开发中的Branch: 分支,可以多人与主干并行开发、修改bug、较大改动Tags: 类似工作中的一个快照,保存特定版本,可以是Trunk,Branch的一个特定点上的快照实际上,branh和tag都是trunk的copy。模式:分支开发,主干发布。 二、Merge
UltraEdit-32 使用技巧:右键关联,取消 bak文件 1、最近安装的UltraEdit-32 没有右键关联,可以在 高级 -》配置 -》文件关联 中 勾选 继承到资源管理器2、UltraEdit-32会自动备份编辑的文件,可以取消,但是建议保留,因为遇到意外情况可以恢复
2048-AI程序算法分析 针对目前火爆的2048游戏,有人实现了一个AI程序,可以以较大概率(高于90%)赢得游戏,并且作者在stackoverflow上简要介绍了AI的算法框架和实现思路。但是这个回答主要集中在启发函数的选取上,对AI用到的核心算法并没有仔细说明。这篇文章将主要分为两个部分,第一部分介绍其中用到的基础算法,即Minimax和Alpha-beta剪枝;第二部分分析作者具体的实现。基础算法
Spring MVC 简介 Spring MVC 是典型的mvc架构,适合web开发。controler 输入输出的控制器,也是对外view提供数据的接口,调用service层。model 数据,由bean组成(对应表),关联dao层。Spring MVC 的核心是DispatcherServlet ,用来截获你配置的请求,分发给相应的处理器去处理并返回结果。需要配置:例如 springMV
maven 常用命令 刚开始用,记录一些常用的,后续慢慢更新。一、命令行1、打包mvn package2、清理已生成的项目 mvn clean 二、eclipse的插件1、打包 maven install
maven 从svn导入项目遇到的问题 No marketplace entries found to handle yuicompressor maven plugin:1.3.0:compile RT,使用eclipse导入项目时 报 No marketplace entries found to handle yuicompressor maven plugin:1.3.0:compile in Eclipse. Please see Help for more information我认为同事说的很对,eclipse是面向插件的,maven插件m2ecli
String、StringBulider、StringBuffer 的区别 String 的大小是固定的,在进行+运算时会生成新的对象。StringBulider和StringBuffer都是动态的,但是StringBulider不是线程安全的,而StringBuffer是线程安全的。建议:字符串不经常修改可以使用String字符串经常修改且单线程使用,可以用StringBulider字符串经常修改且多线程使用,推荐StringBuffer
约瑟夫环 java实现 问题:N个人从1到N编号,围城一圈,从1开始报数, 数到X时,将X的编号输出,并将那个人踢出,下一个从1再开始报数,直到所有人都出去思路:就是计数,移除,没有太深的思想,直接上代码:package test;import java.util.ArrayList;import java.util.List;import java.util.Scanner;/**
mysql 左连接 自连接 例子 连接就是将两个表按照某个公共字段来拼成一个大表。左连接就是在做连接是以左边这个表为标准,来遍历右边的表。例子:用户访问记录:问题:查出看了湖南卫视但没有看北京卫视的用户信息逻辑:先通过左连接将看了湖南卫视和北京卫视的查出来,然后再将看了湖南卫视但不在刚才查出的结果中的用户查出来。SELECT * FROM test_visit WHERE channel='
mysql常用查询:group by,左连接,子查询,having where 前几天去了两个比较牛的互联网公司面试,在sql这块都遇到问题了,哎,可惜呀,先把简单的梳理一下成绩表 score1、group by 使用按某一个维度进行分组例如:求每个同学的总分SELECT student,SUM(score) FROM score GROUP BY student求每个同学的平均分SELECT student,AVG(score) FR
nginx 查看并发连接数 这里只说一下用命令查看(也可配置页面)通过查tcp连接数1、netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'结果:TIME_WAIT 2FIN_WAIT1 3ESTABLISHED 41SYN_RECV 1LAST_ACK 80红色为建立的连接数
ReentrantLock与synchronized的区别 总的来说,lock更加灵活。主要相同点:Lock能完成synchronized所实现的所有功能不同:1.ReentrantLock功能性方面更全面,比如时间锁等候,可中断锁等候,锁投票等,因此更有扩展性。在多个条件变量和高度竞争锁的地方,用ReentrantLock更合适,ReentrantLock还提供了Condition,对线程的等待和唤醒等操作更加灵活,一个Reentrant
volatile和synchronized 区别 1、什么是volatileVolatile修饰的成员变量在每次被线程访问时,都强迫从共享内存中重读该成员变量的值。而且,当成员变量发生变化时,强迫线程将变化值回写到共享内存。这样在任何时刻,两个不同的线程总是看到某个成员变量的同一个值。Java语言规范中指出:为了获得最佳速度,允许线程保存共享成员变量的私有拷贝,而且只当线程进入或者离开同步代码块时才与共享成员变量的原始值对比。
Hibernate+EhCache配置二级缓存 本文主要讲一讲Hibernate+EhCache配置二级缓存的基本使用方法,主要分以下两个方面介绍:(有关EhCache的基础介绍可参见:http://www.micmiu.com/architecture/cache/ehcache-start-demo/)Cache的多种配置方法Hibernate+EhCache集成demo[一]、Cache的多种配置方法
数据库索引,B+树 1、索引索引是对数据库表中一列或多列的值进行排序的一种结构,使用索引可快速访问数据库表中的特定信息。建立索引的目的是加快对表中记录的查找或排序。索引的类型唯一索引、主键索引和聚集索引2、B+树B+树是针对磁盘存储专门优化的N叉排序树。目前数据库多采用两级索引的B+树,树的层次最多三层,可能需要5次磁盘访问才能更新一条记录(3次访问取数据索引及行ID,
Hash散列算法之 Time33算法 hash在开发中经常用到,而现在time33算是最流行的哈希算法。算法:对字符串的每个字符,迭代的乘以33原型:hash(i) = hash(i-1)*33 + str[i] ;在使用时,存在一个问题,对相似的字符串生成的hashcode也类似,有人提出对原始字符串,进行MD5,然后再计算hashcode。
Java线程池管理及分布式Hadoop调度框架搭建 平时的开发中线程是个少不了的东西,比如tomcat里的servlet就是线程,没有线程我们如何提供多用户访问呢?不过很多刚开始接触线程的开发工程师却在这个上面吃了不少苦头。怎么做一套简便的线程开发模式框架让大家从单线程开发快速转入多线程开发,这确实是个比较难搞的工程。那具体什么是线程呢?首先看看进程是什么,进程就是系统中执行的一个程序,这个程序可以使用内存、处理器、文件系统等相关资源。例如
java HashMap 实现原理探究 概念hash翻译过来是哈希,还有种叫法散列,学过数据结构的应该知道。哈希就是将任意长度输入值通过哈希算法得到一个固定长度输出值。这里不重点介绍hash算法。java 的hashmap实现1、存储结构首先我们知道 map中存的元素是Entry。hashmap类使用一个Entry数组来实现存储,数组中每个元素可能对应一个链表/** * The table, res
tomcat 参数调优--maxThreads、acceptCount(最大线程数、最大排队数) 配置:<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxThreads="800" acceptCount="1000"/>1、最大连接数 maxThreads
hive异常 show tables 无法使用 : Unable to instantiate rg.apache.hadoop.hive.metastore.HiveMetaStoreClient 异常:hive> show tables;FAILED: Error in metadata: java.lang.RuntimeException: Unable to instantiate rg.apache.hadoop.hive.metastore.HiveMetaStoreClient FAILED: Execution Error, return code 1 from
hive导入 nginx 或 apache 日志 1、创建表CREATE TABLE nginxlog ( ipaddress STRING, identity STRING, user STRING, time STRING, request STRING, protocol STRING, status STRING, size STRING, referer STRING, agent STRING) ROW FO
hadoop 作业调优参数整理及原理 1 Map side tuning参数1.1 MapTask运行内部原理当map task开始运算,并产生中间数据时,其产生的中间结果并非直接就简单的写入磁盘。这中间的过程比较复杂,并且利用到了内存buffer来进行已经产生的 部分结果的缓存,并在内存buffer中进行一些预排序来优化整个map的性能。如上图所示,每一个map都会对应存在一个内存 buffer(MapOut
【hive实战】使用hive分析 hadoop 日志 实战2——Hadoop的日志分析1). 日志格式分析首先分析 Hadoop 的日志格式, 日志是一行一条, 日志格式可以依次描述为:日期、时间、级别、相关类和提示信息。如下所示: 2013-03-06 15:23:48,132 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: STARTUP_MSG: /****
日志分析方法概述 日志在计算机系统中是一个非常广泛的概念,任何程序都有可能输出日志:操作系统内核、各种应用服务器等等。日志的内容、规模和用途也各不相同,很难一概而论。本文讨论的日志处理方法中的日志,仅指Web日志。其实并没有精确的定义,可能包括但不限于各种前端Web服务器——apache、lighttpd、tomcat等产生的用户访问日志,以及各种Web应用程序自己输出的日志。在Web日志中,每条日
Hive shell 常用命令 连接 hive shell直接输入 hive1、显示表hive> show tables;OKtestTime taken: 0.17 seconds, Fetched: 1 row(s)2、创建表hive> create table test(key string);OKTime taken: 0.265 seconds3、创建分区表:
hadoop 输入乱码,非utf-8乱码 hadoop默认为utf-8格式,输入中文汉字时会乱码。解决办法,转为gbk:String line=new String(value.getBytes(),0,value.getLength(),"GBK");
hadoop 处理不同的输入文件,文件关联 类型一: 一一对应file1:a 1b 2c 3file2:1 !2 @3 #file1和file2进行关联,想要的结果:a !b @3 #思路:1、标记不同输入文件2、将file1的key、value颠倒 ;file1和file2的key相同,file1的value做key,file2的value做v
Hadoop 中 获取 输入文件名 旧API获取输入路径 String path=((FileSplit)reporter.getInputSplit()).getPath().toString();新API获取文件名InputSplit inputSplit = context.getInputSplit();String fileName = ((FileSplit) inputSplit)
Zookeeper API JAVA 解析 常用方法:new ZooKeeper()构造方法createexistsgetChildrengetData注意点:watcher 的触发,为一次性。测试程序package zookeeper;import java.io.IOException;import java.util.List;import org.apache.zookeeper
Vector和ArrayList的区别 面试题中经常看到。相同点:都实现了List接口,都是有序的,可以按照下标去取数据,可以存放重复数据。不同点:(1)线程安全性Vector是线程安全的,在写多线程并发时可以考虑使用Vector。ArrayList不是线程安全的,速度相对较快一点。(2)数据增长特点当初始分配的空间使用完后,Vector会再分配原来一倍的空间;ArrayList会分配原来一半的空间。
左连接、右连接、交叉连接、全外连接 左连接:以左边为准;右连接:以右边为准第一部分、连接查询一、内连接内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的列值。内连接分三种:1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。2、不等连接: 在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算
POST 与 GET 区别 区别一般认为:GET用于从服务器取数据,POST用于向服务器提交数据。在使用时,GET方式通过URL请求,参数放在?后边,以&隔开;POST将参数放在HTTP的header中。GET提交数据大小会受到限制。有人建议:1、get方式的安全性较Post方式要差些,包含机密信息的话,建议用Post数据提交方式;2、在做数据查询时,建议用Get方式;而在做数据添加、修
快速排序 -- java实现 思想:采用分治策略。每次排序会使一个元素落在最终位置,并且该元素之前的数据都比不比它大,之后的元素都不比它小。然后再对前后两部分分别进行快排。每一轮排序的思想:选定一个元素为比较标准pivot,从后往前找到第一个比它小的元素,并将该元素放在最小下标位置,最小下标++;从前往后找到第一个比它大的元素,并将该元素放在最大下标位置,最大下标--;将pivot复制给
一张属于程序员的图片 前几天在微博上,看到一张图片,看看大家能找出几个四个卡通动物,我知道三个:左边起第一个:拿三叉戟的BSD,linux的一个分支第二个 : linux企鹅,这个大家肯定都知道第三个: 鲨鱼 groovy ,一种基于JVM(Java虚拟机)的敏捷开发语言第四个不知道喝的咖啡是 java 笔筒中的羽毛 : apache 魔方 : GTK ,是一套
String s=new String("abc") 创建了几个对象? 答案是2个,大家肯定都知道。面试中经常出现的问题,今天认真分析一下。1、 Sting s 定义了一个变量s,没有创建对象;2、 = 赋值,将某个对象的引用(句柄)赋给s ,没有创建对象;3、 “abc” 创建一个对象;4、 new String() 创建一个对象。首先,总结一下java创建对象的方式:new、clone、反射、反序列化再看一下 St
字符串反转 -- java实现 问题:将输入的字符串,反转输出。方法一:将输入String转为char数组,数组反转,然后再转回String代码package String;public class Convert { public static void main(String[] args) { String a="123 安 a bc"; System.out.pr
java中 redirect 和 froward 区别 相信大家在面试中经常回遇到这个问题,正好最近在做一个跳转的东西,总结一下。1、概念、原理(1)redirect从名字上也很好理解,重定向,就是客户去请求服务器,服务器接到请求后,告诉客户,要重新请求另一个地址,并把地址告诉客户,客户再去请求。(2)forward 我理解为,服务器去请求,并且有当前服务器返回结果给客户。例如服务器接到一个请求,但是请求的资源需要再次跳转,服务器要
mysql 去重 计数 要求:有两个表ttest1、ttest2,结构如下,求 localname ,用户数ttest1:地区码、用户idttest2 :地区名、地区码sql:SELECT localname , COUNT( DISTINCT uid )FROM ttest1,ttest2WHERE ttest1.localid = ttest
java中的map -- HashMap Hashtable LinkedHashMap 和TreeMap map是一个接口,提供了四个实现类HashMap Hashtable LinkedHashMap 和TreeMapmap作为key-value的存储结构,在程序时经常使用。1、HashMap比较常用,根据key 的hashcode来存储数据,遍历时,取得数据随机。线程不安全,如果需要同步,可以用 Collections的synchronizedMap方法使HashMap
hadoop MapReduce运行异常:Unknown protocol to name node: org.apache.hadoop.mapred.JobSubmissionProtocol 描述:job 配置错误异常:14/03/26 22:23:27 ERROR security.UserGroupInformation: PriviledgedActionException as:allencause:org.apache.hadoop.ipc.RemoteException: java.io.IOException: Unknown protocol to na
[hadoop异常] eclipse中运行mapreduce 异常 --java.lang.OutOfMemoryError: Java heap space 描述:内存溢出,堆不够用异常:14/03/26 23:11:36 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable14/03/26 23:11:36 WARN mapred.
MapReduce运行异常-- org.apache.hadoop.mapred.FileAlreadyExistsException 描述: 输出文件已经存在异常:14/03/26 23:00:52 WARN mapred.JobClient: No job jar file set. User classes may not be found. See JobConf(Class) or JobConf#setJar(String).14/03/26 23:00:52 INFO mapred.JobClien
hadoop 数据排序 1、输入file1.txt238243423423435655file2.txt12324456785678102562399999999992、问题、思路问题:将上面两个文件,排序,结果要求:每行两个数 第一个是序号,第二个是数值思路:map阶段进行取词,reduce接受到
生产者消费者问题 --java实现 生产者消费者问题,又称有限缓冲区问题。要解决两个问题:1、对缓冲区中资源进行同步(存和取)2、当缓冲区满时,不可存,生产者需要等待;当缓冲区空时,不可取,消费者需要等待
java 线程同步--卖票问题 线程同步方法:(1)、同步代码块,格式:synchronized (同步对象){//同步代码}(2)、同步方法,格式:在方法前加synchronized修饰问题:多个人同时买票。1、资源没有同步。package thread;public class Tickets implements Runnable { priv...
PermGen space错误解决方法 前两天tomcat启动后报了异常:java.lang.OutOfMemoryError: PermGen spaceJava HotSpot(TM) 64-Bit Server VM warning: Exception java.lang.OutOfMemoryError occurred dispatching signal SIGINT to handler- the VM ma
Hadoop 使用 MapReduce 排序 思路、全局排序 本文主要讲对key的排序,主要利用hadoop的机制进行排序。1、Partitionpartition作用是将map的结果分发到多个Reduce上。当然多个reduce才能体现分布式的优势。2、思路由于每个partition内部是有序的,所以只要保证各partition间有序,即可保证全部有序。3、问题有了思路,如何定义partition的边界,这是个问题。解决办法:h
hadoop wordcount 代码 写个wordcount,刚入门的同学可以参考一下。直接贴程序了package WordCount;import java.io.IOException;import java.util.Iterator;import java.util.StringTokenizer;import org.apache.hadoop.conf.Configuration;import org
数据挖掘10大算法(1)——PageRank http://www.cnblogs.com/FengYan/archive/2011/11/12/2246461.html1. 前言这系列的文章主要讲述2006年评出的数据挖掘10大算法(见图1)。文章的重点将偏向于算法的来源以及算法的主要思想,不涉及具体的实现。如果发现文中有错,希望各位指出来,一起讨论。