hadoop 输入路径用正则表达式被默认处理为多个参数的问题

运行命令

hadoop jar   wordcount.jar   com.WordCount  /inpath/*{beijing,shanghai,guangzhou}*   /outpath/

这个/inpath/*{beijing,shanghai,guangzhou}* 地址,hadoop自己会解析为多个参数,判定第二个参数,不是输出路径

解决方式:

hadoop jar   wordcount.jar   com.WordCount  /inpath/‘{*beijing*,*shanghai*,*guangzhou*}‘   /outpath/

这样就可以了。

原文地址:https://www.cnblogs.com/yanghaolie/p/10538226.html

时间: 2024-08-12 20:26:57

hadoop 输入路径用正则表达式被默认处理为多个参数的问题的相关文章

Hadoop进阶之输入路径如何正则通配?

在hadoop的编程中,如果你是手写MapReduce来处理一些数据,那么就避免不了输入输出参数路径的设定,hadoop里文件基类FileInputFormat提供了如下几种api来制定: 如上图,里面有 (1)addInputPath(),每次添加一个输入路径Path (2)addInputPaths, 将多个路径以逗号分割的字符串,作为入参,支持多个路径 (3)setInputPath ,设置一个输入路径Path,会覆盖原来的路径 (4)setInputPath , 设置多个路径,支持Had

Hadoop on Mac with IntelliJ IDEA: 1 解决输入路径不存在问题

本文讲述使用IntelliJ IDEA时遇到Hadoop提示input path does not exist(输入路径不存在)的一种解决办法. 环境:Mac OS X 10.9.5, IntelliJ IDEA 13.1.4, Hadoop 1.2.1 Hadoop放在虚拟机中,宿主机通过SSH连接,IDE和数据文件在宿主机. 这是自学Hadoop的第三天.以前做过点.NET开发,Mac.IntelliJ IDEA.Hadoop.CentOS对我而言,相当陌生.第一份Hadoop代码就遇到了问

MapReduce wordcount 输入路径为目录 java.lang.UnsatisfiedLinkError: org.apache.hadoop.io.nativeio.NativeIO$POSIX.stat(Ljava/lang/String;)Lorg/apache/hadoop/io/nativeio/NativeIO$POSIX$Stat;

之前windows下执行wordcount都正常,今天执行的时候指定的输入路径是文件夹,然后就报了如题的错误,把输入路径改成文件后是正常的,也就是说目前的wordcount无法对多个文件操作 报的异常是getStat出了问题,也就是说SHELL.WINDOWS是false了,于是猜测是hadoop.dll的问题,因为之前用的是3.0的,于是去GitHub上下了个3.1的,链接https://github.com/s911415/apache-hadoop-3.1.0-winutils/blob/

只能输入数字的正则表达式

只能输入数字的正则表达式: var reg = /^\d+$|^\d+[.]?\d+$/; 因为某个需求要求只能输入数字, 所以当时做的时候就使用了input事件, $('.input').on('input', function () { .... }); 而我做的又是PC版, 所以一到IE上(IE8就冒bug, stack over flow), 然后就只能使用keyup, keydown事件, 但是这两个事件有点非常不好, 就是不可以全选, 因为我使用了keycode来做控制, 真真是给自

38 py改变函数参数的值关键字参数和参数默认值函数中可变参数将序列中的元素值作为函数对应的参数值传

第五课:改变函数参数的值 一个python函数可以有任意多个参数,在一个函数的外部来定义变量,然后把变量作为参数传入到函数内,并且在函数的内部来修改函数的参数值,函数结束之后,这些变量的值在如何变化呢? 给函数传递值有2种:1种是值传递,1种是引用传递 # 改变函数参数的值 # 值传递(数值.字符串.布尔 这些都是值传递) 在函数的内部修改变量值,不改变原参数定义的参数值,解释为: 这个在函数中不会改变原来定义(函数外部)的值 这是因为函数里面会有一个占的概念,外边的变量的值会复制给 占 里面,

JMeter学习-011-JMeter 后置处理器实例之 - 正则表达式提取器(三)多参数获取进阶引用篇

前两篇文章分表讲述了 后置处理器 - 正则表达式提取器概述及简单实例.多参数获取,相应博文敬请参阅 简单实例.多参数获取. 此文主要讲述如何引用正则表达式提取器获取的数据信息.其实,正则表达式提取器获取的数据,均可看做一个变量(单个数据,此处指所需获取的测试相关数据)或数组(多个数据),通过引用变量或者数组的数据,达到应用其数据的目的.下面针对此两种方式进行介绍. 第一种:单数据变量 但数据变量的应用比较简单,同我们日常 shell 脚本引用变量相同,引用样式:引用名称.例如要引用下图中的变量,

MapReduce 编程 系列八 根据输入路径产生输出路径和清除HDFS目录

有了前面的MultipleOutputs的使用经验,就可以将HDFS输入目录的路径解析出来,组成输出路径,这在业务上是十分常用的.这样其实是没有多文件名输出,仅仅是调用了MultipleOutputs的addNamedOutput方法一次,设置文件名为result. 同时为了保证计算的可重入性,每次都需要将已经存在的输出目录删除. 先看pom.xml, 现在参数只有一个输入目录了,输出目录会在该路径后面自动加上/output. <project xmlns="http://maven.ap

hadoop输入分片计算(Map Task个数的确定)

作业从JobClient端的submitJobInternal()方法提交作业的同时,调用InputFormat接口的getSplits()方法来创建split.默认是使用InputFormat的子类FileInputFormat来计算分片,而split的默认实现为FileSplit(其父接口为InputSplit).这里要注意,split只是逻辑上的概念,并不对文件做实际的切分.一个split记录了一个Map Task要处理的文件区间,所以分片要记录其对应的文件偏移量以及长度等.每个split

虚拟机上Hadoop输入相关命令都提示not found

虚拟机上的Hadoop用着还好好的,第二天打开一看,输入相关命令都提示not found, 出现bash: start-all.sh: command not found... bash: jps: command not found... 之类的命令无效提示. 这应该是没有找到环境变量的原因, 所以使用命令source /etc/profile 之后,就恢复正常了. 至于为什么在没有开机重启情况下突然命令就用不了了,暂时还没找到原因(此前进行了防火墙的关闭操作,不知道有没有影响).