草庐IT

number-formatting

全部标签

hadoop - 我应该在集群的所有数据节点上运行 `hdfs namenode -format` 吗?

我正在设置Hadoop集群。据我了解,至少有两名worker的集群的最低设置是4台机器:名称节点资源经理数据节点1数据节点2我对hdfsnamenode-format命令感到困惑,看起来它只用于格式化名称节点,但它的描述(当运行一个空的hdfs命令时)声明“格式化DFS文件系统”。这是否意味着我也应该在所有数据节点上作为安装的一部分运行该命令,还是应该只在名称节点上运行? 最佳答案 您只需格式化一次。它告诉NameNode做一个格式化,这主要是一个元数据操作。您不一定需要在NameNode实际驻留的节点上执行此操作。应该可以从任何地

Hadoop 数据节点 : why is there a magic "number" for threshold of data blocks?

专家,我们可能会看到我们的hadoop集群中的block数增长。“太多”block会导致数据节点堆需求增加、执行速度下降、GC次数增多等后果。当block数超过某个“阈值”时,​​我们应该引起注意。我见过不同的阈值静态数字,例如200,000或500,000——“神奇”数字。它不应该是节点内存的函数(DataNode的Java堆大小,以字节为单位)吗?其他有趣的相关问题:高block数表示什么?一种。小文件太多?b.产能不足?是(a)还是(b)?如何区分两者?什么是小文件?大小小于block大小(dfs.blocksize)的文件?每个文件是否在磁盘上占用一个新的数据block?还是与

date - Hadoop 黑斑羚 : Format datatype integer to date/timestamp to use addtime function

我在Impala中使用下表:customer_id|day_id|return_day_idABC2017083020170923BCD2017083020170901不幸的是,day_id和return_day_id字段都是INT而不是日期。如何将它们的数据类型更改为日期,以便我可以在day_id之后的4天内仅使用return_day_id计算不同的customer_id。我是否需要将其转换为日期,然后转换为时间戳,以便我可以使用adddate函数? 最佳答案 其中一条评论正确指出,您需要使用unix_timestamp和from

hadoop - Hive 总是给出 "Number of reduce tasks determined at compile time: 1",无论我做什么

createexternaltableifnotexistsmy_table(customer_idSTRING,ip_idSTRING)location'ip_b_class';然后:hive>setmapred.reduce.tasks=50;hive>selectcount(distinctcustomer_id)frommy_table;TotalMapReducejobs=1LaunchingJob1outof1Numberofreducetasksdeterminedatcompiletime:1里面有160GB,1个reducer需要很长时间...[ihadanny@lv

sql - 如何在 hive sql 中获取每个组的最大 row_number()

在配置单元SQL中使用row_number(),我可以通过在where子句中选择1来过滤重复项/选择id的第一个实例,如下所示。我在这里需要的是如何找到每个组中的最后一个实例。select*from(selectc1,c2,c3,c4,c5,id,row_number()over(partitionbyidORDERBYid)asseqfromtable)ascntwhereseq=1;我的要求是,例如,如果id1212有3个实例,而1313有5个实例,如下表所示,我可以使用上面的查询并通过在where子句中选择1来仅获取一个实例。但是我想要下面的id12123和5id1313。c1,

hadoop - 亚马逊电子病历 : Set unique number of mappers and reducers per EMR instance

我正在运行一个具有M个核心实例和N个任务实例的AmazonEMR集群。我的作业每天运行多次并且对时间敏感,因此我保持M核心实例24/7全天候运行,这样我就没有与S3之间的数据传输开销。N个任务节点正在根据需要动态启动和终止。M个核心节点为c1.mediums,N个任务节点为m2.xlarge。有没有办法为每个实例配置mapred.tasktracker.map.tasks.maximum和mapred.tasktracker.reduce.tasks.maximum?对于我想要的核心节点:mapred.tasktracker.map.tasks.maximum=2mapred.task

date - hive cast string to date in 'dd/MMM/yyyy' format order by and group by issue

我将日期存储为[27/Feb/2016:00:24:31+0530]。我想要27/Feb/2016中的日期格式,并且还想按它排序。我试过了this解决方案,但它以2016-02-27形式返回,并且也正确排序。SELECTTO_DATE(FROM_UNIXTIME(UNIX_TIMESTAMP(SUBSTR(time,2,11),'dd/MMM/yyyy')))ASreal_date,urlFROMcleanned_logsORDERBYreal_dateASC;为了获得所需的格式,我尝试使用date_format()函数。它在1.2.1中不可用,所以我从1.0.1切换到它。SELECT

hadoop - "hadoop namenode -format"目录格式错误

我正在尝试在CentOS6.3上安装Hadoop1.1.2.21我已经在/etc/hadoop/conf/hdfs-site.xml文件中配置了dfs.name.dirdfs.name.dir/mnt/ext/hadoop/hdfs/namenode但是当我运行“hadoopnamenode-format”命令时,它会格式化/tmp/hadoop-hadoop/dfs/name。我错过了什么? 最佳答案 我遇到了这个问题并解决了它。所以更新这个答案。确保您的环境变量HADOOP_CONF_DIR指向可以找到所有用于配置的xml文件的

datetime - 转换日期时间字符串 (3/24/2017 10 :00:00 PM) to (3-24-2017 22:00:00) hive i. e convert from 12 hour to 24 hour format

我在配置单元表中有一个数据类型为字符串的日期时间字段。看起来如下:datetime3/24/201710:00:00PM尝试将其转换为hive所需的正确格式,还尝试将AM/PM删除为24小时格式,但无济于事。selectfrom_unixtime(unix_timestamp(datetime,'mm-dd-yyyyHH:MM:SS'))fromtest_table 最佳答案 您可以使用以下命令实现此目的:selectfrom_unixtime(unix_timestamp(datetime,'MM/dd/yyyyhh:mm:ssa

python-2.7 - java.io.IOException : Broken pipe on increasing number of mappers/reducers, 很多

我在6个节点的hadoop集群上运行MapReduce作业,配置了4个映射任务和10个缩减任务。Mapper/Reducer在增加map/reduce任务数量时失败很多,如下所示,我遇到以下错误:标准错误日志java.lang.RuntimeException:PipeMapRed.waitOutputThreads():subprocessfailedwithcode143atorg.apache.hadoop.streaming.PipeMapRed.waitOutputThreads(PipeMapRed.java:362)atorg.apache.hadoop.streamin