草庐IT

HADOOP_PREFIX

全部标签

hadoop - Hive 表导出优化

我希望优化或减少以下工作流程中的步骤数。我有一个名为sayLogs的Hive表。我应用一些自定义udf来获取转换后的日志。我将转换后的日志创建为一个表格,类似CREATETABLEtransform_logsROWFORMATDELIMITEDFIELDSTERMINATEDBY','LINESTERMINATEDBY'\n'ASSELECTnonsafehash(visitorid),nonsafehash(url),actionFROMlogs然后我做./bin/hadoopdfs-cat/user/hive/warehouse/transform_logs/\*>transfor

hadoop - Namenode 中符号链接(symbolic link)的内存影响

Hadoop2.0中使用FileContext对象支持符号链接(symboliclink)createSymlinks()方法。我正在考虑在一个程序中大量使用符号链接(symboliclink),该程序将上个月的所有文件都放在Hadoop文件(HAR)中,但我想知道使用符号链接(symboliclink)是否会消耗Namenode内存,类似于在HDFS中拥有小文件,这会破坏目的将这些放在HAR中,让我找到小文件的原始问题。此外,我想使用符号链接(symboliclink)的原因是当文件被HAR时(并因此移动)我不必使用新文件位置更新HBase。NameNode中符号链接(symboli

hadoop - Hadoop 中 Mappers 的分区输出

这是一个关于Hadoop的非常基本的问题:假设我有3个mappers和2个reducers。映射器产生了以下输出:Mapper1output:{1->"a1",2->"b1"},Mapper2output:{2->"b2",3->"c2"},Mapper3output:{1->"a3",3->"c3"}现在,据我所知,框架将输出分成两部分(每个reducer一个部分)。框架是否在分区之前对所有输出进行排序?reducers是否有可能获得以下输入?Reducer1input:{1->"a1",2->"b1","b2"}Reducer2input:{1->"a3",3->"c2","c3"

Hadoop 2.1.0-beta wordcount 示例错误

我是hadoop的新手,有点困惑。我的版本是2.1.0-beta,我遵循了集群设置指南(http://hadoop.apache.org/docs/stable/cluster_setup.html)。我正在尝试运行http://wiki.apache.org/hadoop/WordCount中的字数统计示例.命令./hadoopdfs-copyFromLocal/home/user/input/inputfile/opt/hdfsdata/给我:已弃用:不推荐使用此脚本执行hdfs命令。而是使用hdfs命令。13/09/2220:41:06警告conf.Configuration:错

hadoop - 所有内置的可写对象都使用默认的原始比较器吗?

我只是感到困惑,是否所有内置的可写对象(如IntWritable、FloatWritable、GenericWritable等)默认都使用原始比较器进行比较?如果没有,我们应该如何注册它们以使用rawcomparator。 最佳答案 如何获取RawComparator在JobConf.getOutputKeyComparator中:publicRawComparatorgetOutputKeyComparator(){ClasstheClass=getClass("mapred.output.key.comparator.class

hadoop - 热点使用hive插入Cassandra

使用EC2datastaxami评估DSE3.1.3Cassandra.测试设置5xm1.xlarge在一次测试中:4vcpus,15G,4x420G实例店铺。另一个5xhi1.4xlarge:16vcpus,60G,2x1TBSSD实例存储。数据5000多个apache日志文件,约60GB,60MM行。工作流程通过dsehadoopfs-put加载到CFS使用RegexSerDe从CFS加载到Hive。通过键空间日志中的CQL在Cassandra中创建事件表。通过INSERTINTOlogs.event从hive插入Cassandra。总体而言,前两个步骤的性能以及基本查询与其他ha

hadoop - Pig,用特定列的整数替换字符串

我是Pig的新手,所以这可能是一个微不足道的问题。我无法得到合理的答案,因此提出这个问题。有3列如下:useriditemidaction2454'view'2456'click'14912'buy'1491'click'等等……我有一个映射,例如:'view'=1、'click'=1.4、'buy'=2.1等我想要的输出是:useriditemidaction2454124561.4149122.114911.4可以帮助我实现这一目标的简单命令?我需要在第3列上执行一些计算,因此不能使用字符串格式。 最佳答案 使用这些映射值在HD

hadoop - 为什么oozie需要数据库?

我已经在我的系统中安装了apacheoozieversion4.1.2..安装时,我使用以下命令为oozie创建了一个数据库。ooziedb.shcreate-sqlfileoozie.sql-run(linux)为什么oozie需要数据库?它会在数据库中存储什么? 最佳答案 Oozie将工作流/调度程序详细信息和其他信息存储在数据库中。可以从控制台访问正在运行的作业和早期作业的状态。 关于hadoop-为什么oozie需要数据库?,我们在StackOverflow上找到一个类似的问题:

hadoop - Hive 中分区表的用途是什么?

我知道分区表用于水平分配负载,但它们的具体用途是什么?谁能用一个简单的例子向我解释一下? 最佳答案 分区允许Hive访问您的数据子集,而无需读取所有数据。这是为什么这可能有用的具体示例。为了使这一点易于理解,我的解释非常精简,如果您想要的不仅仅是我试图提供的表面层面的理解,我建议您阅读其他地方的Hive分区。您正在以每天~1TB的速率接收带时间戳的数据。您有100天前的数据,总数据负载为~100TB。很多时候,您希望汇总过去10天的一些数据。如果不进行分区,您将不得不读入所有100TB数据,尽管其中大部分数据无论如何都会被Hive忽

hadoop - 默认 Mapper-Reducer 类

假设我有两个数据集:helloworldbyeworld和helloearthnewearth并且我想运行一个没有指定映射器类或化简器类的map-reduce任务,因此将调用默认的映射器和化简器——它们都是恒等函数。当我运行该作业时,输出为::0helloworld0helloearth12newearth12byeworld我很困惑为什么key像0和12?!当我在main()::中注释掉这些行时,我只是使用了默认的映射器和缩减器//job.setMapperClass(Map.class);//job.setCombinerClass(Reduce.class);//job.setR