hadoop Streaming之aggregate

WSL Ubuntu20 通过1Panel配置SSH服务的完整避坑指南 本文详细介绍了在WSL Ubuntu20环境下通过1Panel配置SSH服务的完整指南,包括环境准备、SSH服务安装与基础配置、1Panel中的SSH管理技巧以及连接测试与故障排查。特别针对WSL特性提供了避坑建议,如IP动态变化处理、SSH服务初始化配置等关键步骤,帮助用户高效搭建稳定的SSH服务环境。 阅读详情

1. aggregate简介
aggregate是Hadoop提供的一个软件包,其用来做一些通用的计算和聚合。
Generally speaking, in order to implement an application using Map/Reduce model, the developer needs to implement Map and Reduce functions (and possibly Combine function). However, for a lot of applications related to counting and statistics computing, these functions have very similarcharacteristics. This provides a package implementing those patterns. In particular,the package provides a generic mapper class,a reducer class and a combiner class, and a set of built-in value aggregators.It also provides a generic utility class, ValueAggregatorJob, that offers a static function that creates map/reduce jobs。
在Streaming中通常使用Aggregate包作为reducer来做聚合统计。

2. aggregate class summary

DoubleValueSum

This class implements a value aggregator that sums up a sequence of double values.

可利用来统计Top K记录,类似LongValueSum

LongValueMaxThis class implements a value aggregator that maintain the maximum of a sequence of long values.
LongValueMinThis class implements a value aggregator that maintain the minimum of a sequence of long values.
LongValueSumThis class implements a value aggregator that sums up a sequence of long values.
StringValueMaxThis class implements a value aggregator that maintain the biggest of a sequence of strings.
StringValueMinThis class implements a value aggregator that maintain the smallest of a sequence of strings.
UniqValueCountThis class implements a value aggregator that dedupes a sequence of objects.
UserDefinedValueAggregatorDescriptorThis class implements a wrapper for a user defined value aggregator descriptor.
ValueAggregatorBaseDescriptorThis class implements the common functionalities of the subclasses of ValueAggregatorDescriptor class.
ValueAggregatorCombinerThis class implements the generic combiner of Aggregate.
ValueAggregatorJobThis is the main class for creating a map/reduce job using Aggregate framework.
ValueAggregatorJobBaseThis abstract class implements some common functionalities of the the generic mapper, reducer and combiner classes of Aggregate.
ValueAggregatorMapperThis class implements the generic mapper of Aggregate.
ValueAggregatorReducerThis class implements the generic reducer of Aggregate.
ValueHistogramThis class implements a value aggregator that computes the histogram of a sequence of strings

3. streaming中使用aggregate

在mapper任务的输出中添加控制,如下:
function:key\tvalue
eg:
LongValueSum:key\tvalue
此外,置-reducer = aggregate。此时,Reducer使用aggregate中对应的function类对相同key的value进行操作,例如,设置function为LongValueSum则将对每个键值对应的value求和。

4. 实例1(value求和)
测试文件test.txt

a       15      1  

a       17      1  

a       18      1  

a       19      1  

a       19      1  

a       19      1  

a       19      1  

b       20      1  

c       15      1  

c       15      1  

d       16      1  

a       16      1  

mapper程序:
#include   

  1. #include   
  2.   
  3. using namespace std;  
  4.   
  5. int main(int argc, char** argv)  
  6. {  
  7.         string a,b,c;  
  8.         while(cin >> a >> b >> c)  
  9.         {  
  10.                 cout  << "LongValueSum:"<< a << "\t" << b  <<  endl;  
  11.         }  
  12.         return 0;  
  13. }  

运行:
$hadoop streaming -input /app/test.txt -output /app/test -mapper ./mapper -reducer aggregate -file mapper  -jobconf mapred.reduce.tasks=1 -jobconf mapre.job.name="test"
输出:
a       142
b       20
c       30
d       16

5. 实例2(强大ValueHistogram)
ValueHistogram是aggregate package中最强大的类,基于每个键,对其value做以下统计
1)唯一值个数
2)最小值个数
3)中位置个数
4)最大值个数
5)平均值个数
6)标准方差
上述例子基础上修改mapper.cpp为:

#include   
  1. #include   
  2.   
  3. using namespace std;  
  4.   
  5. int main(int argc, char** argv)  
  6. {  
  7.         string a,b,c;  
  8.         while(cin >> a >> b >> c)  
  9.         {  
  10.                 cout  << "ValueHistogram:"<< a << "\t" << b  <<  endl;  
  11.         }  
  12.         return 0;  
  13. }  

运行命令同上
运行结果:
a       5       1       1       4       1.6     1.2
b       1       1       1       1       1.0     0.0
c       1       2       2       2       2.0     0.0
d       1       1       1       1       1.0     0.0

参考:
/docs/api/index.html?org/apache/hadoop/mapred/lib/aggregate/package-summary.htm

告别手动发日报!用n8n+钉钉打造智能报告机器人(含模板下载) 本文详细介绍了如何利用n8n开源工作流自动化平台与钉钉机器人搭建智能日报系统,实现数据自动采集、处理和发送。通过实战步骤和模板下载,帮助用户告别手动处理日报的繁琐,提升工作效率和数据准确性。 阅读详情

相关推荐

使用VS Code创建第一个Flutter工程

你可以使用任意文本编辑器结合命令行工具来开发Flutter应用。然而,我们推荐使用本文介绍的编辑器插件以获取更好的开发体验。这些插件提供了代码补全、代码高亮、widget辅助编辑等功能,以及为项目的运行和调试提供支持。推荐的开发工具有VS Code、Android Studio、IntelliJ。本文将重点介绍如何使用VS Code进行Flutter应用开发。

2501_91373349的博客 2125

Hadoop Streaming 实战: aggregate

1. aggregate概述 aggregate是Hadoop提供的一个软件包,其用来做一些通用的计算和聚合。 Generally speaking, in order to implement an application using Map/Reduce model, the de...

chushang0934的博客 210

Lumerical Python API实战指南(一)——从数据优化到自动化工作流

本文是Lumerical Python API实战指南,旨在帮助用户从繁琐的手动仿真操作转向智能自动化工作流。文章详细介绍了API环境的零基础搭建、核心操作(会话管理、命令执行与数据交换),并通过参数扫描与自动化分析流水线的实战案例,展示了如何利用Python脚本实现从数据优化到自动化仿真的全过程,显著提升光子设计效率。

xxx12的博客 566

Hadoop系列之Aggregate用法

1. aggregate简介 aggregate是Hadoop提供的一个软件包,其用来做一些通用的计算和聚合。 Generally speaking, in order to implement an application using Map/Reduce model, the developer needs to implement Map and Reduce functions (an

u011734144的专栏 1263

地震数据可视化必备:5分钟读懂SEGY道头字段全解析(含坐标定位指南)

本文深入解析了SEGY文件格式中道头坐标字段的提取与可视化方法。针对地震数据处理中的常见痛点,详细介绍了sx/sy、gx/gy等关键坐标字段的二进制解析、比例因子应用、单位转换及常见问题解决方案,并提供了实用的Python代码示例,帮助开发者实现从SEGY文件到三维空间可视化的完整流程。

echo99的专栏 1008

FPGA_AD9361实战

1.参考网站。

Pual_Georg的博客 748

Hadoop初入门的坑

这几天初入门hadoop,测试一些demo遇到了许多问题,有些问题想了好久才找到办法解决,因此写下这篇入坑小博客,学习编程,解决问题是我们的核心,所以我们遇到难题应该兴奋并解决之。以后我要写多点博客,记录编程的点点滴滴,愿与各位共勉之。下面,正题。 !!!hadoop中遇到问题一定要找相应的日志!!! 一、环境 1、一个linux系统(Centos7)的服务器(不是虚拟机),下面贴出/e

jiayoudeBOKE的博客 6679

【迁移学习】域对抗迁移网络 DANN

Domain-Adversarial Training of Neural Networks

这个博客太懒了什么都没说 8414

Giraph源码分析(九)—— Aggregators 原理解析

改进:采用分片聚集 (sharded aggregators) . 在每个超级步的最后,每个聚集器被派发给一个Worker,该Worker接受和聚集其他Workers发送给该聚集器的值。然后Workers把自己的所有的聚集器发送给Master,这样Master就无需执行任何聚集,只是接收每个聚集器的最终值。在MasterCompute.compute执行后,Master不是直接把所有的聚集器发送给所有的Workers,而是发送给聚集器所属的Worker,然后每个Worker再把其上的聚集器发送给所有的Wor

Hama White 的博客 4580

stm32教程之三重ADC交错采样

ps:本文基于stm32F407ZGT6单片机 stm32F4单片机单通道采集的最大采样率为2.4M,所以有时会难以满足较高频率的采样,于是查阅芯片手册,发现stm32F4支持多重ADC采集,利用每个通道的转换时间,错位采样,从而提高采样率,最大把采样率开到2.4*3=7.2M. (去年初学ADC时研究的,基于cube和HAL库的三重ADC交错采样参考资料不多,我也是研究了一段时间,写下这篇博客希望可以帮助到更多人。) 示意图如下: 以下是官方例子的说明, In this ex...

weixin_52178036的博客 8873

Python爬虫实战:用最新技术高效下载摄影网站图片

本文将深入探讨如何利用Python最新技术栈构建一个功能完整的摄影网站图片爬虫。我们将使用异步编程、智能反爬策略和现代化工具,实现高效、可靠的图片下载系统。高性能异步架构:使用asyncio实现高并发下载智能反爬策略:支持多种反爬措施和浏览器模拟多网站适配:可解析多种摄影网站结构数据管理:完整的下载记录和统计功能扩展性强:支持代理、分布式等高级功能用户友好:提供进度显示和详细日志。

2201_76125261的博客 1644

复杂网络的高阶组织

网络是理解和建模物理、生物、神经科学、工程和社会科学中的复杂系统的基本工具。众所周知,许多网络具有丰富的低阶连接模式,可以在单个节点和边缘级别捕获这些模式。然而,复杂网络在小网络子图层次上的高阶组织在很大程度上仍然是未知的。在此,我们开发了一个基于高阶连通性模式的广义聚类网络框架。该框架为获得的簇的最优性和具有数十亿条边的网络的规模提供了数学保证。该框架揭示了许多网络中的高阶组织,包括神经网络中的信息传播单元和交通网络中的枢纽结构。结果表明,网络呈现出丰富的高阶组织结构,这些组织结构通过基于高阶连接模式的聚

cc_aibiancheng的博客 4793

【SA8155P】AIS Camera相关内容的简单介绍

【SA8155P】AIS Camera相关内容的简单介绍

静谧、淡雅 1693

Hadoop&nbsp;Streaming 编程

1、概述 Hadoop Streaming是Hadoop提供的一个编程工具,它允许用户使用任何可执行文件或者脚本文件作为Mapper和Reducer,例如: 采用shell脚本语言中的一些命令作为mapper和reducer(cat作为mapper,wc作为reducer) $HADOOP_HOME/bin/hadoop  jar $HADOOP_HOME/hadoop-streaming.jar

nuoline的专栏 469

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

HADOOP_CLASSPATH设置

在写hadoop程序编译时,往往需要HADOOP_CLASSPATH路径,可通过以下方式进行在编译脚本中设置: for f in $HADOOP_HOME/hadoop-*.jar; do CLASSPATH=${CLASSPATH}:$f done for f in $HADOOP_HOME/lib/*.jar; do CLASSPATH=${CLASSPATH}:$f done for f

nuoline的专栏 2万+

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

hive之脚本执行

Hive是基于Hadoop的数据仓库,可以将结构化的数据文件hive映射为一张数据库表,并提供几乎完整的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。     Hive目前还不支持像Mysql那样的sql脚本,如果遇到需要批量处理HQL就相对麻烦,但是可以使用比较笨的shell脚本执行批量HQL命令,原理很简单,在shell脚本中用echo命令将HQL命令以字符串的形式导

nuoline的专栏 7570

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

hbase连接java(转载)

1、需要的jar包: commons-codec-1.4.jar commons-logging-1.0.4.jar hadoop-0.20.2-core.jar hbase-0.20.6.jar log4j-1.2.15.jar zookeeper-3.2.2.jar   2、已有表结构: 1、表名:scores 2、列族: course:art course:math

nuoline的专栏 7071

hbase的预分配region

在create一个表时如果不指定预分配region,则默认会先分配一个region,这样在大数据并行载入时性能比较低,因为所有的数据都往一个region灌入,容易引起单节点负载升高,从而影响入库性能,一个好的方法时在建立表时预先分配数个region。方法有两种,主要针对不同版本可供选择。 1.使用RegionSplitter方法,主要针对hbase-0.90.X版本 a.首先使用RegionSp

nuoline的专栏 6310

hadoop输入和输出格式

1. TextInputformat        TextInputformat是默认的inputformat,对于输入文件,文件中每一行作为一个记录,他将每一行在文件中的起始偏移量作为key,每一行的内容作为value。为什么不用行数作为key呢?        注意split中只是保存了split在文件中的位置,map操作读取数据的时候还是会到HDFS中打开原始文件,然后定位到split所需

nuoline的专栏 4818

hadoop参数-core-site.xml

三个缺省配置参考文件说明 core-default.html   序号 参数名 参数值 参数说明 1 hadoop.tmp.dir /tmp/hadoop-${user.name} 临时目录设定 2 hadoop.native.lib true 使用本地hadoop库标识。 3 hadoop.h

nuoline的专栏 4512

Hadoop冗余机制实验验证

Hadoop冗余机制实验验证 1 目的 Hadoop视硬件错误为常态,并通过块的冗余存储机制保证数据的高可靠性。在大多数情况下,副本系数是3,HDFS的存放策略是将一个副本存放在本地机架的节点上,一个副本放在同一机架的另一个节点上,最后一个副本放在不同机架的节点上。 我们将通过实验验证Hadoop的数据高可靠性。 2 概述 实验通过对1GB的数据进行排序,分别设置副本系数为1和3来进行对比验

nuoline的专栏 4178

php写mapreduce程序示例

用PHP写hadoop的mapreduce程序 Hadoop本身是Java写的,所以,给hadoop写mapreduce,人们会自然地想到java 但hadoop里面有个contrib叫做hadoop streaming,这是一个小工具,为hadoop提供streaming支持,使得任何支持标准IO (stdin, stdout)的可执行程序都能成为hadoop的mapper 或者 reducer

nuoline的专栏 4081

zookeeper的部署和使用

1.1 zookeeper的部署和使用 1.1.1系统描述 ZooKeeper是一个高可用、高可靠的协同工作系统,分布式程序可以用ZooKeeper保存并更新关键共享状态。 Katta使用zookeeper保证主节点和搜索节点的有效性,指派索引文件给搜索节点,察觉搜索节点的失效等。 1.1.2 安装和配置 安装zookeeper也很简单,下载zookeeper-3.1.1.tar.gz,解压到/h

nuoline的专栏 4053

hadoop的web界面汉化

1:安装ant编译环境 2:源程序修改    /src/mapred 下的相关需要修改的java文件    /src/hdfs 下的相关需要修改的java文件    /src/webapps 下的相关需要修改的jsp文件 3:配置文件修改   /src/hdfs/hafs-default.xml   /src/mapred/mapred-default.xml   其他相关的xml等文件修改 4

nuoline的专栏 3449

Hadoop发展现状乱而稳定的解读

雅虎开发者Doug Cutting六年前创建了一个用于管理,存储和分析大量数据的分布式计算平台hadoop,现在大家也称云计算平台,用他儿子的玩具大象命名,并把它交给阿帕奇软件基金会。鉴于围绕Hadoop建立的整个行业的迅速,这会使某些人觉得非常惊讶,那就是阿帕奇软件基金会最近才推出了Apache Hadoop 1.0——被认为是足够稳定而成为“企业就绪”的第一个版本。 Hadoop乱象 雅虎开发

nuoline的专栏 2612

Oozie

Oozie 不同于在客户端运行并提交作业的JobControl,Ooize(http://yahoo.github.com/ oozie/)作为服务器运行,客户端提交一个工作流到服务器。在Ooize中,工作流是一个由动作(action)节点和控制流节点组成的DAG(有向无环图)。动作节点运行MapReduce作业或Pig作业来执行工作流任务,就像HDFS的移动文件操作。控制流节点通过构建条件逻辑(

nuoline的专栏 2596
上一篇: 我的博客今天2岁354天了,我领取了…
下一篇: hive之脚本执行
nuoline
博客等级 码龄18年 345粉丝 247原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值