草庐IT

VARIABLE_SIZE_STRUCT

全部标签

hadoop - Apache-PIG 脚本 : ERROR Invalid field projection on joined variable

我创建的Pig脚本有效,除非我尝试在我加入的字段上使用GENERATE。cc_data=LOAD'default.complaint1'USINGorg.apache.hive.hcatalog.pig.HCatLoader();cc2_data=LOAD'default.complaint2'USINGorg.apache.hive.hcatalog.pig.HCatLoader();combined=joincc_databycomplaintid,cc2_databycomplaintid;如果我对我的组合执行DESCRIBE,它会显示如下:合并:{cc_data::datere

hadoop - hive : Read a struct value inside a map in hive

我有一个包含以下数据类型的列的配置单元表:map>我正在尝试使用横向View爆炸从map中读取id的值,但它抛出了以下错误:selectvalue.idfrommy_tablelateralviewexplode(my_map)valuelimit10;FAILED:SemanticException[Error10002]:Line1:14Invalidcolumnreference'id'谁能帮我从map中读取结构值。 最佳答案 selectval.idfrommy_tablelateralviewexplode(my_map)

hadoop - Spark : Minimize task/partition size skew with textFile's minPartitions option?

我正在通过sc.textFile("/data/*/*/*")之类的方式将数万个文件读入rdd>一个问题是这些文件中的大多数都是微小的,而其他的则巨大。这会导致任务不平衡,从而导致各种众所周知的问题。我能否通过sc.textFile("/data/*/*/*",minPartitions=n_files*5)读取数据来拆分最大的分区,其中n_files是输入文件的个数吗?如约定elsewhere在stackoverflow上,minPartitions被传递到hadooprabithole,并在org.apache.hadoop.mapred.TextInputFormat.getSp

hadoop - 检查点在 HDFS 中是如何工作的?我想弄清楚 fs.checkpoint.period 和 fs.checkpoint.size

当它说时,辅助名称节点检查点每小时(fs.checkpoint.period以秒为单位)或如果编辑日志已达到64MB(fs.checkpoint.size以字节为单位)则更早?究竟是什么意思?据我了解,编辑日志存储在本地文件磁盘中。 最佳答案 HDFS元数据可以认为由两部分组成:基本文件系统表(存储在名为fsimage的文件中)和列出对基本表所做更改的编辑日志(存储在文件中称为edits)。检查点是协调fsimage与edits以生成新版本的fsimage的过程。这样做有两个好处:更新版本的fsimage和截断的编辑日志。fs.ch

hadoop - Apache hive : LOAD DATA vs INSERT OVERWRITE OUTPUT FILE SIZE

我正在使用ApacheHive,我不明白为什么如果我使用INSERTOVERWRITE与LOAD加载数据,表的大小会加倍。问题说明如下:我创建了一个表项从item.dat加载数据(大约28MB)在Azure中发生的是文件item.dat将被移动到hive/warehouse并且当然大小保持不变现在,如果我创建另一个与item相同的表item2,然后使用以下命令将数据从item加载到item2:INSERTOVERWRITETABLEitem2SELECT*FROMitem表item2的大小是item的两倍(大约55MB)为什么会这样?有什么办法可以避免吗?附言。这只是为了说明问题。在实

java - Hadoop : set a variable like hashSet only once so that it can be utilized multiple times in each map task

您好,我有一个HashSet,它需要在hadoop中的每个映射任务中使用。我不想多次初始化它。我听说可以通过在配置函数中设置变量来实现。欢迎提出任何建议。 最佳答案 看来你还没有真正了解Hadoop的执行策略。如果你是分布式模式,你不能在多个map任务中共享一个集合(HashSet)。这是因为任务是在它们自己的JVM中执行的,并且它不是确定性的,即使不使用jvm重用,你的集合在jvm被重置后仍然存在。您可以做的是在计算开始时为每个任务设置一个HashSet。因此您可以覆盖setup(Contextctx)方法。这将在调用映射方法之前

java - dfs.block.size 用于本地 hadoop 作业?

我想运行一个hadoop单元测试,使用本地文件系统模式...我希望看到几个part-m-*文件被写入磁盘(而不是只有1个)。但是,由于它只是一个测试,我不想处理64M的数据(我相信默认大小是每个block~64megs)。在分布式模式下我们可以使用dfs.block.size我想知道是否有一种方法可以让我的本地文件系统写出小的part-m文件,也就是说,这样我的单元测试将用几个(尽管非常小)文件模拟大规模数据的内容。 最佳答案 假设您的输入格式可以处理可拆分文件(参见org.apache.hadoop.mapreduce.lib.i

Java 泛型和 Hadoop : how to get a class variable

我是一名.NET程序员,在Java中从事一些Hadoop工作,我有点不知所措。在Hadoop中,我正在尝试设置一个Map-Reduce作业,其中Map作业的输出键的类型为Tuple.当我使用setOutputKeyclass如下设置输出键时JobConfconf2=newJobConf(OutputCounter.class);conf2.setOutputKeyClass(Tuple.class);我遇到了一大堆错误,因为泛型和“.class”符号似乎不适用。尽管以下工作正常JobConfconf2=newJobConf(OutputCounter.class);conf2.setO

java.sql.SQLException : Unknown system variable 'OPTION' 异常

我正在使用Ambari服务器安装MYSQL,以便在ubuntu上安装hadoop。我从Xampp安装了MySql,并且工作正常。MySQL5.6版本去掉了set`Option关键字,mariaDB(xampp自带)与之一致。网站显示兼容MySQL5.6版本,应该没问题。回应theonlyrelevantlinkIfound,当我检查我的sql版本时:mysql-vTheprogram'mysql'canbefoundinthefollowingpackages:*mysql-client-core-5.6*mariadb-client-core-10.0这就是我得到的。我相信链接中提到

hadoop - Mesos 和 Hadoop : How to get the running job input data size?

我在Mesos0.14上运行Hadoop1.2.1。我的目标是记录输入数据大小、运行时间、cpu使用情况、内存使用情况等,以便稍后进行优化。除了数据大小之外,所有这些都是使用Sigar获得的。有什么方法可以获取正在运行的任何作业的输入数据大小?例如,当我运行hadoop示例的terasort时,我需要在作业实际运行之前获取teragen生成的数据大小。如果我正在运行Wordcountexample,我需要获取wordcount输入文件大小。我需要自动获取数据大小,因为我无法知道稍后将在该框架内运行什么作业。我正在使用Java编写一些mesos库代码。最好,我想在MesosExecuto