- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我是 pig 新手,一直在尝试让它在我的 Windows 7 机器上运行。我的 hadoop (2.4.0) 在我的本地机器上运行良好,但每当我尝试运行一个简单的 Pig 脚本时,每当我尝试转储文件内容时它都会抛出错误。
离开类似问题的解决方案,发现 here ,我曾尝试使用 Ant 重建我的 Pig (0.12.1)。每当我运行时
ant clean jar-withouthadoop -Dhadoopversion=23
我收到以下错误:
Buildfile: C:\pig-0.12.1-src\build.xml
......
[org.apache.ftpserver#ftpserver-core;1.0.0] in [hadoop20]
[ivy:resolve] org.apache.mina#mina-core;2.0.0-M2 by [org.apache.mina#mina-core;2.0.0-M5] in [hadoop20]
---------------------------------------------------------------------
| | modules || artifacts |
| conf | number| search|dwnlded|evicted|| number|dwnlded|
---------------------------------------------------------------------
| master | 0 | 0 | 0 | 0 || 0 | 0 |
| default | 101 | 32 | 0 | 3 || 101 | 0 |
| runtime | 101 | 32 | 0 | 3 || 101 | 0 |
| compile | 89 | 29 | 0 | 2 || 90 | 0 |
| test | 101 | 32 | 0 | 3 || 101 | 0 |
| javadoc | 101 | 32 | 0 | 3 || 101 | 0 |
| releaseaudit | 3 | 2 | 0 | 0 || 3 | 0 |
| jdiff | 3 | 0 | 0 | 0 || 3 | 0 |
| checkstyle | 10 | 3 | 0 | 0 || 10 | 0 |
| buildJar | 101 | 32 | 0 | 3 || 101 | 0 |
| hadoop20 | 48 | 30 | 0 | 9 || 39 | 0 |
| hadoop23 | 40 | 13 | 0 | 0 || 42 | 0 |
| hbase94 | 1 | 0 | 0 | 0 || 2 | 0 |
| hbase95 | 7 | 0 | 0 | 0 || 13 | 0 |
---------------------------------------------------------------------
ivy-compile:
[ivy:retrieve] :: retrieving :: org.apache.pig#pig
[ivy:retrieve] confs: [compile]
[ivy:retrieve] 90 artifacts copied, 0 already retrieved (80170kB/407ms)
[ivy:cachepath] DEPRECATED: 'ivy.conf.file' is deprecated, use 'ivy.settings.file' instead
[ivy:cachepath] :: loading settings :: file = C:\pig-0.12.1-src\ivy\ivysettings.xml
init:
[mkdir] Created dir: C:\pig-0.12.1-src\src-gen\org\apache\pig\impl\logicalLayer\parser
[mkdir] Created dir: C:\pig-0.12.1-src\src-gen\org\apache\pig\tools\pigscript\parser
[mkdir] Created dir: C:\pig-0.12.1-src\src-gen\org\apache\pig\tools\parameters
[mkdir] Created dir: C:\pig-0.12.1-src\build\classes
[mkdir] Created dir: C:\pig-0.12.1-src\build\test\classes
[mkdir] Created dir: C:\pig-0.12.1-src\test\org\apache\pig\test\utils\dotGraph\parser
[mkdir] Created dir: C:\pig-0.12.1-src\src-gen\org\apache\pig\data\parser
[move] Moving 1 file to C:\pig-0.12.1-src\build\ivy\lib\Pig
cc-compile:
[javacc] Java Compiler Compiler Version 4.2 (Parser Generator)
[javacc] (type "javacc" with no arguments for help)
[javacc] Reading from file C:\pig-0.12.1-
....
[javacc] Parser generated successfully.
prepare:
[mkdir] Created dir: C:\pig-0.12.1-src\src-gen\org\apache\pig\parser
genLexer:
[java] error(1): cannot write file : java.io.FileNotFoundException: C:\pig-0.12.1-src\src-gen\org\apache\pig\parser\C:\QueryLexer.java (The filename, directory name, or volume label syntax is incorrect)
[java] java.io.FileOutputStream.open(Native Method)
[java] java.io.FileOutputStream.<init>(FileOutputStream.java:221)
[java] java.io.FileOutputStream.<init>(FileOutputStream.java:171)
[java] java.io.FileWriter.<init>(FileWriter.java:90)
[java] org.antlr.Tool.getOutputFile(Tool.java:871)
[java] org.antlr.codegen.CodeGenerator.write(CodeGenerator.java:1262)
[java] org.antlr.codegen.Target.genRecognizerFile(Target.java:94)
[java] org.antlr.codegen.CodeGenerator.genRecognizer(CodeGenerator.java:460)
[java] org.antlr.Tool.generateRecognizer(Tool.java:655)
[java] org.antlr.Tool.process(Tool.java:468)
[java] org.antlr.Tool.main(Tool.java:93)
BUILD FAILED
C:\pig-0.12.1-src\build.xml:495 Java returned: 1
我在这里做错了什么?我是否缺少文件,或者是 build.xml 中的配置问题?
编辑:我已经从 cmd 和 cygwin 终端运行了这个命令。它们都输出相同的错误。
EDIT2:我正在使用 Ant (1.9.4) 构建
最终编辑:原来我需要将 pig src 存档 (pig-0.12.1-src.tar.gz) 移动到 cygwin 主目录,解压它,cd 进入解压后的存档并运行命令。
最佳答案
我遇到了同样的问题。我通过在我的 cygwin 家中通过 cygwin 编译 pig 来解决它。
我的 Ivy 设置是这样的:
<ivysettings>
<!--
Licensed to the Apache Software Foundation (ASF) under one or more
contributor license agreements. See the NOTICE file distributed with
this work for additional information regarding copyright ownership.
The ASF licenses this file to You under the Apache License, Version 2.0
(the "License"); you may not use this file except in compliance with
the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
-->
<!--
see http://www.jayasoft.org/ivy/doc/configuration
-->
<!-- you can override this property to use mirrors
http://repo1.maven.org/maven2/
http://mirrors.dotsrc.org/maven2
http://ftp.ggi-project.org/pub/packages/maven2
http://mirrors.sunsite.dk/maven2
http://public.planetmirror.com/pub/maven2
http://ibiblio.lsu.edu/main/pub/packages/maven2
http://www.ibiblio.net/pub/packages/maven2
-->
<property name="repo.maven.org" value="${mvnrepo}" override="true"/>
<property name="repo.jboss.org" value="http://repository.jboss.com/nexus/content/groups/public/" override="false"/>
<property name="repo.apache.snapshots" value="http://repository.apache.org/content/groups/snapshots-group/" override="false"/>
<property name="repo.dir" value="${user.home}/.m2/repository" override="false"/>
<property name="maven2.pattern" value="[organisation]/[module]/[revision]/[module]-[revision](-[classifier])"/>
<property name="maven2.pattern.ext" value="${maven2.pattern}.[ext]"/>
<property name="snapshot.pattern" value="[organisation]/[module]/[revision]/[artifact]-[revision](-[classifier]).[ext]"/>
<property name="resolvers" value="default" override="false"/>
<property name="force-resolve" value="false" override="false"/>
<!-- pull in the local repository -->
<include url="${ivy.default.conf.dir}/ivyconf-local.xml"/>
<settings defaultResolver="${resolvers}"/>
<resolvers>
<ibiblio name="maven2" root="${repo.maven.org}" pattern="${maven2.pattern.ext}" m2compatible="true"/>
<ibiblio name="jboss-maven2" root="${repo.jboss.org}" pattern="${maven2.pattern.ext}" m2compatible="true"/>
<ibiblio name="apache-snapshots" root="${repo.apache.snapshots}" pattern="${snapshot.pattern}"
checkmodified="true" changingPattern=".*SNAPSHOT" m2compatible="true"/>
<filesystem name="fs" m2compatible="true" checkconsistency="false" force="${force-resolve}"
checkmodified="true" changingPattern=".*SNAPSHOT">
<artifact pattern="${repo.dir}/${maven2.pattern.ext}"/>
<ivy pattern="${repo.dir}/[organisation]/[module]/[revision]/[module]-[revision].pom"/>
</filesystem>
<chain name="internal" checkmodified="true">
<resolver ref="fs"/>
</chain>
<chain name="external" dual="true">
<resolver ref="maven2"/>
<resolver ref="jboss-maven2"/>
<resolver ref="apache-snapshots"/>
</chain>
<chain name="default" dual="true" checkmodified="true">
<resolver ref="internal"/>
<resolver ref="external"/>
</chain>
</resolvers>
<modules>
<module organisation="org.apache.pig" name=".*" resolver="internal"/>
</modules>
</ivysettings>
关于java - 难以使用 Ant 构建 Pig,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24265457/
这个问题可能不是很清楚,所以让我用一个例子来说明我的意思。说我要复制几个文件夹: ... 但是我需要从如下所示的文本文件中加载它们,而不是在脚本中对这些文件夹
ant 和 ant clean all 的区别? 请任何人都可以清楚地说明何时使用 Ant 和 Ant 清洁所有。 C:> Ant c:> Ant 清理所有 最佳答案 “ant”运行项目的默认目标。
我想转换如下: 到: aoeu 的值可以包含任意数量的逗号分隔元素。 我可以使用 groovy Ant 任务,但不能使用 ant-contrib 中的任何
我看到了 this相关问题,但我的情况不同,所以再次询问。基本上,我必须按特定顺序运行 12 个 ant 文件。对于每个 ant 文件,我选择不同的目标,例如“创建”或“构建并部署全部”。如何创建一个
我可以编写一个在从另一个 ant 任务执行时获取参数的 ant 任务吗? 我通常试图实现的目标是重用现有任务不同的参数。 我不知道的是: ant中有这样的子任务吗? 它可以带参数吗? 如何以及在何处指
给定一个 ant 文件集,我需要对其执行一些类似 sed 的操作,将其压缩为多行字符串(每个文件有效一行),并将结果输出到文本文件。 我在寻找什么 Ant 任务? 最佳答案 Ant script ta
我有一个包含 jars 等绝对路径的属性文件。当使用这些属性时,它们以构建文件中指定的 basedir 为前缀。 我如何获得绝对路径? build.properties: mylib=/lib/myl
我有一个任务: someString someOtherString 如何连接 s
我遇到的情况涉及运行带有可选参数的 ant 构建,这些参数总是被指定但并不总是被定义,就像这样 ant -DBUILD_ENVIRONMENT=test -Dusername_ext= -Dconf.
我正在寻找一种在 Ant 文件中包含 .jar 的方法,以便我可以立即使用它并在我的目标中调用它的方法。 就我而言,它是 ant-contrib-1.0b3.jar . 最佳答案 最好的方法是将 An
我在 ant 方面比较新,在学校我有一个作业来做一个构建文件。我的问题之一是将其名称(或路径)作为 ant 参数的文件复制到“/foldercopy”。我需要做类似的事情: Ant cpfile文件.
亲爱的,我目前在检索foreach循环中设置的属性的值时遇到一些问题。也许你们中的一个可以帮助我... 目的是检查自从生成相应的jar之后,是否已修改文件夹的一个文件。这样,我知道是否必须再次生成ja
我想创建一个宏: 然后使用它: 但是,我想为隐式元素指定一个默认值......类似于: 所以我可以这样使用它:
我想将 ANT、JavaSDK 和 FlexSDK 包含到我的项目目录中。我需要我公司的人能够从源代码编译。 我有一个以以下内容开头的 build.bat 文件: ant blah/blah/blah
我想对目录中的每个文件使用 ant 脚本集只读 但 exec 不允许 filelist: The typ
如果我以 root 身份运行任务,有没有办法检测它是否以 root 身份运行并以不同的用户身份运行某些任务。 我有一些任务需要以 root 身份运行,但其他任务只需要以当前用户身份运行。 最佳答案 如
是否可以通过ant任务使用JUnit 4.6的新MaxCore运行程序? 最佳答案 从4.6开始,不幸的是没有。您需要创建自己的自定义Ant任务才能利用MaxCore功能。 关于ant - Ant J
我有一个关于 Ant 及其对环境变量的处理的问题。 为了说明我有一个小样本。 给定 Ant 构建文件 test.xml:
该文件如下所示: a1,b1 a2,b2 ... 我知道值“a2”。 如何将值“b2”转换为属性值。 我知道如何通过以下方式选择包含“a2”的行: 但是不知道如何将属性值设置为“b2”。 我
Ant 属性可以通过属性文件设置,从属性文件解析其他属性吗? 例如,我可以这样做: 和 prop2 变成“in_test_xml1”。那挺好的。 但在这种情况下,当使用输入属性文件时: prop1
我是一名优秀的程序员,十分优秀!