草庐IT

hadoop - 使用默认 SerDE 加载 Hive 表数据

数据格式如下a,"b,c",d,ep,q,"e,r",ta,s,"t,g",t我想创建一个Hive表第1列、第2列、第3列、第4列a,b,c,d,ep,q,e,r,ta,s,t,g,t如上所见,如果数据是用双引号括起来的,那么在创建表数据时就不需要考虑中间的逗号了。如果我使用默认的SerDe,双引号将被忽略,b、c被视为两个单独的列。如果封装在双引号中,如何确保双引号忽略两个元素之间的逗号 最佳答案 如果可能且可行,我首先建议您探索输入数据是否可以通过使用除逗号以外的其他方式作为字段分隔符来清理输入数据。使用数据中可能自然出现的定界

java - 安装 "cannot execute not a directory"时出现 Hadoop 错误

出于某些研究目的,我正在尝试在我的本地系统中安装Hadoop2.6.0,但是当我完成我的配置和java安装时,安装停止了。执行命令时遇到错误"hdfsnamenode-format"我得到的错误信息如下"usr/local/hadoop/bin/hdfs:line276:/usr/lib/jvm/java-7-oracle/jre/bin/java/bin/java:Notadirectory/usr/local/hadoop/bin/hdfs:line276:exec:/usr/lib/jvm/java-7-oracle/jre/bin/java/bin/java:cannotexe

hadoop - 无法使用 Pig FOREACH 显示数据

我在txt文件中有这个smaple数据集(格式:名字,姓氏,年龄,性别):(Eric,Ack,27,M)(Jenny,Dicken,27,F)(Angs,Dicken,28,M)(Mahima,Mohanty,29,F)我想显示年龄大于27岁的员工的age和firstname。在进行了相当多的操作并寻找一些指示后,我被卡住了:我正在使用以下方式加载此数据集:tuple_record=LOAD'~/Documents/Pig_Tuple.txt'AS(details:tuple(firstname:chararray,lastname:chararray,age:int,sex:char

java - Hadoop Mapreduce 字数统计

从EclipseKepler运行HadoopMapReduceWordCount程序与使用位于Mapreduce(hadoop-mapreduce-example-2.6.0.jar)中的预定义jar文件运行它有什么区别。在速度、性能等方面有什么区别吗? 最佳答案 没有区别。只是当你的输入很大并且你有mapper/reducer在多个节点上运行时,你会看到显着的性能提升,因为现在字数统计将在不同的机器上并行完成。 关于java-HadoopMapreduce字数统计,我们在StackOv

hadoop - 如果 Impala 查询内存不足会怎样?

如果Impala查询内存不足会发生什么:Impala守护进程是否崩溃?它会写入磁盘吗?详细的解释会有所帮助! 最佳答案 这取决于Impala的版本及其配置方式。一般来说,Impala会在内存不足时终止查询。有一个进程范围的内存限制,此时任何请求内存的查询都将被终止。还有另一个可选的、每个查询的内存限制。Impala2.0及更高版本支持“溢出”大型连接和聚合运算符,这有助于避免这些内存不足的情况。 关于hadoop-如果Impala查询内存不足会怎样?,我们在StackOverflow上找

hadoop namenode、datanode、secondarynamenode 没有启动

我刚刚下载了hadoop-0.20tar并解压了。我设置了JAVA_HOME和HADOOP_HOME。我修改了core-site.xml、hdfs-site.xml和mapred-site.xml。我开始服务了。jpsjpsJobTrackerTaskTracker我检查日志。它说2015-02-1118:07:52,278INFOorg.apache.hadoop.hdfs.server.namenode.NameNode:STARTUP_MSG:/************************************************************STARTUP_

hadoop - Docker 容器运行 Mesos 集群并在集群上运行其他 docker 容器(使用 Marathon)

我刚开始使用Mesos、Docker和Marathon,但我找不到任何可以回答这个特定问题的地方。我想设置一个在Docker上运行的Mesos集群——有几个互联网资源可以做到这一点,但我想在Mesos本身之上运行Docker容器。这意味着Docker容器在其他Docker容器中运行。这有什么问题吗?不知何故,它在直觉上似乎并不正确,但看起来这样做真的很方便。理想情况下,我想运行Mesos集群(使用Marathon、Chronos等),然后在其上的Docker容器中运行Hadoop。这是可能的还是标准的做事方式?对于什么是良好做法的任何其他建议,我们将不胜感激。谢谢

hadoop - 在 Apache Spark 中使用 Reduce

我正在尝试使用Apachespark加载一个文件,并将该文件分发到我集群中的多个节点,然后聚合结果并获取它们。我不太明白该怎么做。根据我的理解,reduce操作使Spark能够组合来自不同节点的结果并将它们聚合在一起。我的理解正确吗?从编程的角度来看,我不明白我将如何编写这个reduce函数。我究竟如何将主数据集分成N个部分,并使用转换列表要求它们并行处理?reduce应该接受两个元素和一个将它们组合起来的函数。这两个元素应该是Spark上下文中的RDD,还是可以是任何类型的元素?另外,如果你有N个不同的分区并行运行,如何减少将它们的所有结果聚合为一个最终结果(因为reduce函数只聚

hadoop - Hive 在多列上对 null 的奇怪处理?

这个查询:SELECTcount(distinctfield1,field2,field3,field4)FROMSOME_TABLE返回与此查询不同(更小)的计数:SELECTcount(distinctcoalesce(field1,"null"),coalesce(field2,"null"),coalesce(field3,"null"),coalesce(field4,"null"))FROMSOME_TABLE我希望结果是相同的。对此有解释吗? 最佳答案 您看到不同结果的原因有两点:COUNT(DISTINCT(...)

hadoop - Impala 是否支持用 Impala SQL(不是 C++ 或 Java)编写的用户定义函数?

Impala确实支持UDFswritteninC++orJava,但我有一个由内置函数调用组成的简单公式。我需要在我的代码中使用很多次并且我不想重复它。是否支持类似于以下伪代码的内容?--UDFdefinitionCREATEFUNCTIONget_date_string(datetimep_value)ASRETURNyear(p_value)*10000+month(p_value)*100+day(p_value);--UDFcallSELECTget_date_string(CreatedOn)FROMPosts;更新:Hive支持这样的UDF——它们被称为macros但我发现