Tag: hadoop

执行UDF时Pig错误1070

我正在尝试在猪中加载我自己的UDF。 我已经使用eclipse的导出function将它变成了一个jar。 我试图在本地运行它,所以我可以确保它在我把jar放在HDFS上之前有效。 在本地运行时,我收到以下错误: ERROR 1070: Could not resolve myudfs.MONTH using imports: [, org.apache.pig.builtin., org.apache.pig.impl.builtin.] 脚本 REGISTER myudfs.jar; –DEFINE MONTH myudfs.MONTH; A = load ‘access_log_Jul95’ using PigStorage(‘ ‘) as (ip:chararray, dash1:chararray, dash2:chararray, date:chararray, getRequset:chararray, status:int, port:int); B = FOREACH A GENERATE myudfs.MONTH(date); DUMP B; function package myudfs; import java.io.IOException; import org.apache.pig.EvalFunc; import org.apache.pig.data.Tuple; import org.apache.pig.impl.util.WrappedIOException; […]

如何提高使用维基百科数据时的性能和巨大的数据。 的网页?

我应该使用维基百科的文章链接数据转储从组织的网站中提取代表性术语。 要做到这一点,我 – 已抓取并下载的组织的网页。 (〜11万) 创建了维基百科ID和术语/标题的字典。 (约4,000万条记录) 现在,我应该使用字典处理每个网页,以识别术语并跟踪他们的术语ID和频率。 为了使字典适合内存,我将字典拆分为较小的文件。 根据我对小型数据集的实验,上述处理时间约为75天。 这仅适用于1个组织。 我必须为40多个人做同样的事情。 实施 – HashMap用于在内存中存储字典。 使用Boyer-Moore搜索实现循环遍历每个地图条目以在网页中搜索术语。 对每个网页重复上述操作,并将结果存储在HashMap中。 我已经尝试优化代码并调整JVM以获得更好的性能。 有人可以建议更有效地实施上述方法,将处理时间缩短到几天。 Hadoop是一个可以考虑的选择吗?

Apache pig脚本,错误1070:Java UDF无法解析导入

我正在尝试编写一个Java UDF,其最终目标是扩展/覆盖PigStorage的加载方法,以支持多行的条目。 我的猪脚本如下: REGISTER udf.jar; register ‘userdef.py’ using jython as parser; A = LOAD ‘test_data’ USING PigStorage() AS row:chararray; C = FOREACH A GENERATE myTOKENIZE.test(); DUMP D; udf.jar看起来像: udf/myTOKENIZE.class myTOKENIZE.java导入org.apache.pig。* ande扩展了EvalFunc。 测试方法只返回一个Hello world String。 我遇到的问题是,当我尝试调用类myTOKENIZE的方法test()时,我得到错误1070:错误1070:无法使用导入解析myTOKENIZE.test:[,java.lang。,org.apache.pig .builtin。,org.apache.pig.impl.builtin。]想法?

执行mapreduce程序时ClassNotFoundException

我试图在eclipse中执行word count程序。 但在执行程序时,我收到以下错误 log4j:ERROR Could not instantiate class [org.apache.hadoop.log.metrics.EventCounter]. java.lang.ClassNotFoundException: org.apache.hadoop.log.metrics.EventCounter at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:424) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:357) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:190) at org.apache.log4j.helpers.Loader.loadClass(Loader.java:198) at org.apache.log4j.helpers.OptionConverter.instantiateByClassName(OptionConverter.java:327) at org.apache.log4j.helpers.OptionConverter.instantiateByKey(OptionConverter.java:124) at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:785) at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:768) at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:648) at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:514) at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:580) at org.apache.log4j.helpers.OptionConverter.selectAndConfigure(OptionConverter.java:526) at org.apache.log4j.LogManager.(LogManager.java:127) at org.apache.log4j.Logger.getLogger(Logger.java:104) at org.apache.commons.logging.impl.Log4JLogger.getLogger(Log4JLogger.java:289) […]

ClassNotFoundException org.apache.mahout.math.VectorWritable

我正在尝试将csv文件转换为序列文件,以便我可以跨数据训练和运行分类器。 我有一个工作java文件,我编译,然后jar到mahout工作jar。 当我在mahout jar中尝试hadoop jar我的工作时,我得到一个java.lang.ClassNotFoundException: org.apache.mahout.math.VectorWritable 。 我不确定为什么这是因为如果我看着mahout jar,那个类确实存在。 以下是我正在做的步骤 #get new copy of mahout jar rm iris.jar cp /home/stephen/home/libs/mahout-distribution-0.7/core/target/mahout-core-0.7-job.jar iris.jar javac -cp :/home/stephen/home/libs/hadoop-1.0.4/hadoop-core-1.0.4.jar:/home/stephen/home/libs/mahout-distribution-0.7/core/target/mahout-core-0.7-job.jar -d bin/ src/edu/iris/seq/CsvToSequenceFile.java jar ufv iris.jar -C bin . hadoop jar iris.jar edu.iris.seq.CsvToSequenceFile iris-data iris-seq 这就是我的java文件的样子 public class CsvToSequenceFile { public static void main(String[] args) throws IOException, InterruptedException, ClassNotFoundException { String […]

Hadoop中默认的散列分区器将两个不同的键转到同一个reducer?

我们知道Hadoop保证来自不同mappers的相同密钥将被发送到同一个reducer 。 但是如果两个不同的键具有相同的哈希值 ,它们肯定会转到相同的 reducer ,那么它们是否会按顺序发送到相同的 reduce方法? 哪个部分负责这个逻辑? 非常感谢!

如何在Apache PIG中正确进行内连接?

我有两个文件,一个叫做a-records 123^record1 222^record2 333^record3 和另一个名为b-records的文件 123^jim 123^jim 222^mike 333^joe 你可以在文件A中看到我有一次令牌123。 在文件B中,它在那里两次。 有没有办法使用Apache PIG我可以加入数据,这样我只能从A文件中获得一条连接记录? 这是我当前的脚本,输出如下 arecords = LOAD ‘$a’ USING PigStorage(‘^’) as (token:chararray, type:chararray); brecords = LOAD ‘$b’ USING PigStorage(‘^’) as (token:chararray, name:chararray); x = JOIN arecords BY token, brecords BY token; dump x; 产量: (123,record1,123,jim) (123,record1,123,jim) (222,record2,222,mike) (333,record3,333,joe) 当我真正想要的是(通知令牌123仅在加入后一次) (123,record1,123,jim) (222,record2,222,mike) (333,record3,333,joe) 有任何想法吗? 非常感谢

当由不同用户提交时,Tez作业失败

配置具有Kerberos安全性的Hadoop-2.6.0 HA群集。 在不同用户的yarn-tez框架中使用tez-example-0.6.0.jar提交示例作业时,获取以下exception 例外 java.io.IOException: The ownership on the staging directory hdfs://clustername/tmp/staging is not as expected. It is owned by Kumar. The directory must be owned by the submitter TestUser or by TestUser 该目录具有完全权限,但仍然获得上述exception。 但是当在yarn-tez框架中使用mapreduce-examples-2.6.0.jar提交作业时,作业就完成了。 命令 yarn jar C:\Tez\tez-examples-0.6.0.jar orderedwordcount -Dmapreduce.framework.name=yarn-tez /user/Kumar/names /user/Kumar/names1 非常感谢帮助。

从sql server导入数据的Sqoop作业忽略模式

如何将模式名称传递给sqoop job将数据从SQL Server导入到hdfs ? sqoop job –create job_name — import –connect “jdbc:sqlserver://server:port;database=datatabase_name;username=user;password=password” –table source_table –as-avrodatafile –target-dir data/target_folder — –schema schema_name 当我使用执行作业时 sqoop job -exec job_name 生成的查询缺少模式名称。 它失败并显示以下错误消息: 15/08/28 10:53:09 INFO manager.SqlManager: Executing SQL statement: **SELECT t.* FROM [source_table] AS t WHERE 1=0** 15/08/28 10:53:09 ERROR manager.SqlManager: Error executing statement: com.microsoft.sqlserver.jdbc.SQLServerException: Invalid object name ‘source_table’. com.microsoft.sqlserver.jdbc.SQLServerException: […]

错误:java.lang.IllegalArgumentException:即使使用变通方法,比较方法也违反了其一般合同

我已经花了两天时间来缩短这个错误,即使我尝试了几个stackoverflowpost“-Djava.util.Arrays.useLegacyMergeSort = true”中建议的解决方法,但它也不起作用。 这是我的命令及其返回错误的详细信息: 命令: hadoop jar CloudBrush.jar -Djava.awt.headless=true -Djava.util.Arrays.useLegacyMergeSort=true -reads /Ec10k -asm Ec10k_Brush -k 21 -readlen 36 错误: Error: java.lang.IllegalArgumentException: Comparison method violates its general contract! at java.util.TimSort.mergeHi(TimSort.java:895) at java.util.TimSort.mergeAt(TimSort.java:512) at java.util.TimSort.mergeCollapse(TimSort.java:437) at java.util.TimSort.sort(TimSort.java:241) at java.util.Arrays.sort(Arrays.java:1512) at java.util.ArrayList.sort(ArrayList.java:1454) at java.util.Collections.sort(Collections.java:175) at Brush.VerifyOverlap$VerifyOverlapReducer.reduce(VerifyOverlap.java:252) at Brush.VerifyOverlap$VerifyOverlapReducer.reduce(VerifyOverlap.java:1) at org.apache.hadoop.mapred.ReduceTask.runOldReducer(ReduceTask.java:444) at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:392) at org.apache.hadoop.mapred.YarnChild$2.run(YarnChild.java:163) at java.security.AccessController.doPrivileged(Native Method) at […]