草庐IT

hadoop - Hive 执行钩子(Hook)

我需要在ApacheHive中挂接自定义执行Hook。如果有人知道该怎么做,请告诉我。我目前使用的环境如下:Hadoop:Cloudera版本4.1.2操作系统:Centos谢谢,阿伦 最佳答案 根据您要在哪个阶段注入(inject)自定义代码,有几种类型的Hook:驱动程序运行Hook(前/后)语义分析器Hook(前/后)执行Hook(前/失败/后)客户统计发布者如果您运行脚本,处理流程如下所示:Driver.run()接受命令HiveDriverRunHook.preDriverRun()(HiveConf.ConfVars.H

sql - 在 HIVE 中创建与另一个表具有相同列的表?

我想从配置单元中另一个表的一些元数据创建表。我正在使用配置单元。我从this知道可以通过INFORMATION_SCHEMA.COLUMNS从表中检索元数据的问题在SQL中:是否HIVE对表的元数据具有类似的访问权限以允许我使用另一个表的列创建表?本质上,我正在复制一个没有所有元组的表。这是迄今为止我拥有的最好的东西:createtable((selectfromINFORMATION_SCHEMA.COLUMNS))rowformatdelimitedfieldsby'|'; 最佳答案 您可以使用LIKE以便新表获取结构而不是数据

hadoop - Hive Metastore 尝试创建 Derby 连接而不是 MySQL

我在本地模式下使用Hive0.11和Metastore。当我尝试启动Metastore守护进程时,它在发出以下错误消息后退出:2013-11-2108:47:19.541GMT线程[main,5,main]java.io.FileNotFoundException:derby.log(权限被拒绝)2013-11-2108:47:19.646GMT线程[main,5,main]清理操作开始错误XBM0H:无法创建目录/metastore_db。这是我的hive-site.xml.我使用MySQL作为Metastore存储。我不明白的是为什么Hive试图在本地创建metastore_db。

hadoop - 403 拒绝访问 Amazon S3 删除 protected 文件夹

我在amazons3中有一个文件夹,我限制了删除任何文件夹的权限。但是,现在发生的事情是我无法使用配置单元脚本创建任何文件夹。此配置单元查询创建一个名为_tmp.customerlevel的临时文件夹。一旦它完成mapreduce作业,它就会尝试删除它。但是,由于删除配置单元查询的限制而失败。任何人都可以告诉我解决方法,以便我可以维护删除保护权限以及我可以使用配置单元脚本写入数据吗?Insertoverwritedirectory's3://logs/customerlevel'select*fromcustomer;REST.DELETE.OBJECTlogs/_tmp.custom

hadoop - Hive:如何使用字符串文字分隔行

这里需要帮助。这个跟hive有关。我有一个只有一行的文本文件,例如:杰森29\莎莎24\克里斯汀15\罗伯特20\现在我需要在配置单元中创建一个表,其行使用“\”(反斜杠)分隔,就像我从上面提到的行“JASON29\SASHA24....”中插入数据一样我想要在我的表格中插入4行。换句话说,我希望我的自定义字符是行分隔符,而不是默认的“\n”。我写了DDL:CREATETABLEnewline_tab(nameSTRING,ageINT)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'LINESTERMINATEDBY'\\'STOREDASTEXTFI

csv - 将 .tar.gz 文件中的大型 .csv 文件加载到 Hive 表中

我有一个很大的.csv文件存储在.tar.gz文件中,我想将其内容放入Hive表中。不幸的是,没有足够的磁盘空间让我解压.csv文件。我尝试了以下方法(以及以下方法的变体):SetHive.exec.compress.output=true;Setio.seqfile.compression.type=block;DROPTABLEIFEXISTSdb.test;CREATETABLEdb.test(var1STRING,...varnSTRING)ROWFORMATDELIMITEDFIELDSTERMINATEDBY','FIELDSTERMINATEDBY'\n';createt

hadoop - 何时在 Hive 表上创建布隆过滤器?

我在4个不同的列上创建了一个带有布隆过滤器的Hive表,稍后决定使用alter命令添加更多。但我不确定如何在Hive上刷新/重新生成布隆过滤器。是否在插入数据时创建布隆过滤器?它是在我们收集统计数据时创建的吗?列级还是表级?或者我完全没有理解布隆过滤器并且它是即时创建的?我已经阅读了文档,但还没有找到关于此的更多信息。尝试在没有运气的情况下浏览代码并找到触发方法的位置。 最佳答案 Isthebloomfiltercreatedduringinsertionofdata?是的。当我们向表中插入行时,布隆过滤器和orc文件中的索引数据是

hadoop - 配置单元不正确的 header 检查

我想从导入到配置单元表的.gz文件中查询,但是当我使用一些需要Map-reduce作业的查询时:从测试中选择计数(*);它显示以下错误:java.io.IOException:incorrectheadercheckatorg.apache.hadoop.io.compress.zlib.ZlibDecompressor.inflateBytesDirect(NativeMethod)atorg.apache.hadoop.io.compress.zlib.ZlibDecompressor.decompress(ZlibDecompressor.java:228)atorg.apach

hadoop - 通过 levenshtein 在 Hive 或 Impala 中加入的有效方法

我有两个表,一个包含大约17K(NLIST)条记录,另一个包含57K(FNAMES)条记录。我想通过使用levenshtein公式比较记录来加入两者。下面是表格内容的例子:表NLIST:+------+-------------+|ID|S_NAME|+------+-------------+|1|Avi||2|Moshe||3|David|....表FNAMES:+------+-------------+|ID|NICKNAMES|+------+-------------+|1|Avile||2|Dudi||3|Moshiko||4|Avi||5|DAVE|....以上表格仅为

hadoop - 如何将列添加到现有的配置单元外部表?

createexternaltabledemotable(column1string,column2string,column3string)rowformatdelimitedfieldsterminatedby'|'location'/data/demotable';我创建外部表'demotable','/data/demotable'中的数据就像aaa|bbb|cccddd|eee|fffwww|ttt|uuu...yyy|uuu|kkk现在我想在我的数据中再添加两列,它会像aaa|bbb|cccddd|eee|fffwww|ttt|uuu...yyy|uuu|kkk|ppp|l