草庐IT

hadoop - 如何使用配置单元脚本删除 AWS 中 S3 存储桶中的 000000 文件

我创建了一个有效的配置单元脚本来将数据从dynamodb备份到AWS中S3存储桶中的文件。代码片段如下所示INSERTOVERWRITEDIRECTORY'${hiveconf:S3Location}'SELECT*FROMDynamoDBDataBackup;当我运行hive脚本时,它可能会删除旧文件并创建一个新文件,但如果备份过程中出现错误,我猜它会回滚到旧数据,因为发生错误时文件仍然存在。每天我们都想做一个备份,但我需要知道是否发生了错误,所以我想先删除前几天的备份,然后再创建一个备份。如果失败,则文件夹中没有我们可以自动检测到的文件。文件名自动命名为000000在我的配置单元脚

hadoop - 跨 hadoop 实例移动部分数据

我必须将特定数据block从一个hadoop集群复制到另一个。我写了一个配置单元查询,将数据转储到hdfs中。将文件复制到目标集群后,我尝试使用命令“loaddatainpath'/a.txt'intotabledata”来加载数据。我收到以下错误消息FailedwithexceptionWrongfileformat.Pleasecheckthefile'sformat.FAILED:ExecutionError,returncode1fromorg.apache.hadoop.hive.ql.exec.MoveTask我已将数据转储为序列文件。谁能让我知道我在这里错过了什么?

hadoop - Amazon EMR 上的引导操作是否有任何限制?

我正在使用shell脚本对我的数据进行一些操作。这需要1个多小时。但每次超过一小时限制。我的引导操作失败了。有没有人注意到这件事? 最佳答案 根据https://forums.aws.amazon.com/thread.jspa?threadID=64568的说法,引导任务有4500万的限制:“...引导的超时时间为45分钟,所有引导操作放在一起应该在这段时间内完成。” 关于hadoop-AmazonEMR上的引导操作是否有任何限制?,我们在StackOverflow上找到一个类似的问题

hadoop - 如何使用配置单元获取表a中不在表b中的所有元素?

如何在Hive中获取A表中B表中没有的所有条目?tableA=jobs(id,duration)tableB=other_jobs(id,duration)我想要A中没有出现在B中的所有工作,每个工作都有一个唯一的ID像这样的图片说明:http://codinghorror.typepad.com/.a/6a0120a85dcdae970b012877702754970c-pi谢谢! 最佳答案 答案是:SELECTjobs.*FROMjobsLEFTOUTERJOINother_jobsON(jobs.id=other_jobs.i

hadoop - 在配置单元中创建表时 EXTERNAL 关键字的意义

如果您使用指向某个S3存储桶位置的EXTERNAL关键字创建外部表,我注意到一件事。数据已加载,您可以查询它。但是,即使我不使用EXTERNAL关键字并使用脚本的其余部分来创建表。即使这样它也能完美运行。为什么会这样?另外,它是外部表还是内部表?如果我删除此表,元数据或数据也会被删除吗?EXTERNAL一词有什么意义吗?如果我创建一个带有EXTERNAL关键字和位置的表,以及另一个没有EXTERNAL关键字但有位置的表。当我得到相同的行为时,有什么区别?createtabledummy(idint,valuestring)ROWFORMATDELIMITEDFIELDSTERMINAT

windows-7 - Hive 和 PIG/Grunt shell 卡在 cygwin 上

我在我的Windows7机器(32位)上以本地模式运行Hadoop。我已经把HIVE/PIG/Hadoop/Java6都安装在C盘了。我使用的是Cygwin版本:2.819。我已经在cygwin上安装了C:。我能够从cygwin终端运行hadoop命令,例如:fs-ls等。我还可以启动grunt和hiveshell。但真正的问题是:我在gruntshell上输入的任何命令(例如:fs-ls或records=LOAD.....)我没有看到任何输出,它有点挂起。与配置单元提示类似,如果我将命令作为showtables给出;我没有看到任何输出,只是光标一直在闪烁!任何键盘输入并没有给出任何结

sql - 如何在 Hive 中使用 between 实现连接?

我有一个Hive表,其中包含IP地址的数字版本。我有另一个包含开始、结束、位置的表,其中开始和结束定义了与位置关联的一系列数字IP。ExampleNumeric:29start|end|location----------------------1|11|66612|30|77731|40|888Output:29-777我需要使用表1中的IP来查找表2中的位置。我是Hive的新手,发现我不能在连接语句中使用BETWEEN或。我一直在尝试找出使用HiveSQL实现此目的的某种方法,但无法弄清楚。有办法吗?如果需要其中一个,我也有点熟悉UDF。我愿意接受这样的想法,即这在Hive中是不可

sql - 在 HIVE 中,分区列不是底层保存数据的一部分?

我有一些日志数据,有字段id,tdate,信息我创建了一个动态分区表CREATETABLElog_partitioned(idSTRING,infoSTRING)PARTITIONEDBY(tdateSTRING)然后我正在加载数据FROMlogslgINSERTOVERWRITETABLElog_partitionedPARTITION(tdate)SELECTlg.id,lg.info,lg.tdateDISTRIBUTEBYtdate;正在通过动态分区成功加载数据。但是当我试图查看数据时hdfsdfs-cat/user/hive/warehouse/log_partitioned

hadoop - HIVE 抛出错误中的简单表创建

HIVE中的简单表创建无法正常工作并抛出以下错误请帮忙。hive>CREATETABLEpokes(fooINT,barSTRING);FAILED:Errorinmetadata:java.lang.RuntimeException:Unabletoinstantiateorg.apache.hadoop.hive.metastore.HiveMetaStoreClientFAILED:ExecutionError,returncode1fromorg.apache.hadoop.hive.ql.exec.DDLTask 最佳答案

hadoop - 如何在配置单元中编写自连接查询以避免自定义重复

我需要通过从具有模式项、值的表中匹配的值来获取项对。我可以通过自连接来实现它,但我得到了如下所示的重复值ItemValue---------------item1value1item2value1item3value3item4value2当我使用distinct进行self连接时,我得到的值如下Item1Item2Value------------------------item1item2value1item2item1value1但对我来说,上面的行是重复的,只需要其中一个。我怎样才能做到这一点?感谢您的关注和帮助。注意:由于我在此要求中对重复项有自己的定义,因此我在问题中将其称