草庐IT

Hadoop-Solr

全部标签

hadoop - HiveContext 不适用于 Oozie

我试图使用HiveContext对象从我的spark代码运行一些配置单元查询。当我使用sparksubmit从命令行运行它时,它工作正常。但是,当我尝试从oozie工作流运行相同的内容时,出现以下异常。Userclassthrewexception:java.lang.RuntimeException:java.lang.RuntimeException:Unabletoinstantiateorg.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient 最佳答案 如果使用

hadoop - 从 hdfs 读取数据时级联的实现问题

假设我在hdfs目录中有这些文件500/Customer/part-001500/Customer/part-002500/Customer/part-003是否可以检查元组来自哪个部分文件?注意:我已经研究过了,但一无所获。 最佳答案 你的问题不是很清楚。假设您的输出采用以下布局,分隔符为“;”身份证;姓名;年龄1;约旦;222;内森;33等等您可以使用awk或grep或两者来获取记录例如,如果你想搜索记录Nathan,试试文件命令grep-r"Nathan"部分*以上命令将搜索字符串“Nathan”,如果该字符串存在于任何部分文

java - 扩展一个扩展 Hadoop 的 Mapper 的类

这是Hadoop中扩展Mapper类的Map类[1]的示例。[3]是Hadoop的Mapper类。我想创建我的MyExampleMapper,它扩展了ExampleMapper,它也扩展了hadoop的Mapper[2]。我这样做是因为我只想在ExampleMapper中设置一个属性,这样当我创建MyExampleMapper或其他示例时,我不必自己设置属性因为我扩展了ExampleMapper。可以这样做吗?[1]示例映射器importorg.apache.hadoop.mapreduce.Mapper;publicclassExampleMapperextendsMapper{pr

hadoop - 重写 Hive IN 子句

我正在尝试在HIVE中执行此子查询,但我收到错误消息,指出我的HIVE版本不支持子查询,不幸的是,是的,我们使用的是旧版本的HIVE。selectcol1,col2fromt1wherecol1in(selectxfromt2wherey=0)然后我像这样使用左半连接重写了子查询,selecta.col1,a.col2FROMt1aLEFTSEMIJOINt2bon(a.col1=b.x)WHEREb.y=0如果我不给出where条件,此查询运行良好,但当我尝试在where条件中使用b.any列或在select子句中使用b.any列时,它无法识别表b。抛出这个错误-Errorwhile

hadoop - 提高 Java MapReduce 性能的思路

我目前正在研究JavaMapReduce。我们拥有读取JavaMapper类中的每一行然后针对DB进行一些验证的功能。问题是在DB中我们有大约500万条记录。Mapper的输入文件也可能包含@100万条记录。所以就像我们扫描800万条记录的每一行一样。这个过程需要很长时间。任何人都可以建议我们是否有更好的方法来提高性能。运行多个map,并行执行(虽然HadoopJavaMapreduce本身就是这样做的)但是看当前时间我认为它不应该花费这么多时间可能是我缺少JavaMapreduce等的任何配置。提前感谢您的帮助。 最佳答案 我建议

Hadoop - 数据在复制到 HDFS 时自动平衡?

如果我将一组文件复制到Hadoop7节点集群中的HDFS,HDFS是否会负责自动平衡7个节点之间的数据,有什么方法可以告诉HDFS将数据限制/强制到特定的集群中的节点? 最佳答案 NameNode是决定将数据block放置在集群中不同节点上的“主”。理论上,您不应更改此行为,因为不推荐这样做。如果您将文件复制到hadoop集群,NameNode将自动负责将它们几乎平均分配到所有DataNode上。如果您想强制更改此行为(不推荐),这些帖子可能会有用:Howtoputfilestospecificnode?Howtoexplicilt

hadoop - 将 TeraData 查询转换为 Hive

请将以下TeraData查询转换为Hive。我是Hive的新手,无法转换它。请指导如何将Teradata的Case..转换为Hive。转换时..我遇到很多错误SELECTMLOC.MATL_LOC_ID,MLOC.MATL_ID,MLOC.LOC_PRTY_ID,MLOC.SRC_SYS_CD,MLOC.PLNT_CD,MLOC.PRCTR_SGMNT_ID,MLOC.PRCTR_CD,MLOC.CC_SGMNT_ID,MLOC.CC_CD,MLOC.CNTL_AREA_NUM,MLOC.DFLT_MATL_PLNT_DESC,MLOC.VALUATION_CATEGORY_CD,ML

hadoop - 使用 spark 跨 hadoop 集群复制数据

我有一种情况,我必须将数据/文件从PROD复制到UAT(hadoop集群)。为此,我现在正在使用'distcp'。但它需要永远。由于distcp在引擎盖下使用map-reduce,有什么方法可以使用spark使过程更快?就像我们可以将hive执行引擎设置为'TEZ'(以替换map-reduce),我们是否可以将执行引擎设置为sparkfordistcp?或者是否有任何其他'spark'跨集群复制数据的方法,甚至可能不关心distcp?这是我的第二个问题(假设我们可以将distcp执行引擎设置为spark而不是map-reduce,否则请不要费心回答这个问题):-据我所知,Spark比m

hadoop - Oozie - 有没有办法在整个集群上只执行一个 java 操作实例?

当我查看我的日志时,我发现我的ooziejava操作实际上在多台机器上运行。我认为这是因为它们被包裹在m/r作业中?(这是正确的吗)有没有办法在整个集群上只执行一个java操作实例? 最佳答案 Java操作在Oozie“启动器”作业中运行,只有一个YARN“映射”容器。诀窍在于每个YARN作业都需要一个应用程序主(AM)容器进行协调。所以你最终有2个容器,_0001用于AM和_0002用于Oozie操作,可能在不同的机器上。要控制每个资源的分配,您可以设置以下操作属性来覆盖您的/etc/hadoop/conf/*-site.xml配

java - 将 Reducer 的输出添加到 Hadoop 中的列表

我正在尝试将reducer的输出添加到list中,然后在读取所有值后访问并打印列表。这是我正在做的:-publicclassReducerextendsReducer{publicstaticfinalLoggerLOG=LoggerFactory.getLogger(Reducer.class);publicListkeys=newArrayList(1000);publicvoidreduce(Textkey,Iterablevalues,Contextcontext)throwsIOException,InterruptedException{for(BooleanWritabl