hive相关内容
我的问题很简单,但不知何故,我无法通过阅读文档找到明确的答案. 我在 CDH 5.10 集群上运行 Spark2.还有 Hive 和 Metastore. 我在我的 Spark 程序中创建了一个会话,如下所示: SparkSession spark = SparkSession.builder().appName("MyApp").enableHiveSupport().getOrC
..
我有两个表,只有一个键列.表 a 中的键是表 b 中所有键的子集.我需要从表 b 中选择不在表 a 中的键. 这是 Hive 手册中的引文:“LEFT SEMI JOIN 以有效的方式实现了不相关的 IN/EXISTS 子查询语义.从 Hive 0.13 开始,使用子查询支持 IN/NOT IN/EXISTS/NOT EXISTS 运算符,因此大多数这些 JOIN 不再需要手动执行. 使用L
..
如何在 Hive QL 中执行 EXCEPT 子句(如 SQL) 我有 2 个表,每个表都是一列唯一 ID. 我想找到仅在表 1 中但不在表 2 中的 id 列表 表 1 苹果橘子梨 表 2 苹果橘子 在 SQL 中,您可以执行 EXCEPT 子句 (http://en.wikipedia.org/wiki/Set_operations_%28SQL%29) 但你不能在
..
我需要将一个 hive 表从一个数据库移动到另一个数据库.我该怎么做? 解决方案 从 0.14 开始,您可以使用以下语句将表从一个数据库移动到同一 Metastore 中的另一个数据库: 使用 old_database;更改表 table_a 重命名为 new_database.table_a 如果table_a 是托管表,则上述语句还将移动 hdfs 上的表数据.
..
我需要在 Apache Hive 中挂钩一个自定义执行挂钩.如果有人知道怎么做,请告诉我. 我当前使用的环境如下: Hadoop:Cloudera 版本 4.1.2操作系统:Centos 谢谢,阿伦 解决方案 根据您要在哪个阶段注入自定义代码,有多种类型的钩子: 驱动程序运行挂钩(前/后) 语义分析器挂钩(前/后) 执行挂钩(前/失败/后) 客户统计信息发布者
..
我使用的是 Spark 1.6 (Cloudera 5.8.2) 并尝试了以下方法来配置 ORC 属性.但是不影响输出. 下面是我试过的代码片段. DataFrame 数据帧 =hiveContext.createDataFrame(rowData, schema);dataframe.write().format("orc").options(new HashMap(){{put("o
..
我创建的配置单元表如下: 创建表 alpha001(id int, name string) 由 (id) 聚类到 2 个存储为 orc TBLPROPERTIES ('transactional'='true') 的桶中 现在我想删除其中一列,比如“名称".我尝试了以下方法: ALTER TABLE alpha001 REPLACE COLUMNS (id int); 结果如下 异常抛
..
我是 hive 的新手,遇到了一个问题, 我在蜂巢中有一张这样的桌子: create table td(id int, time string, ip string, v1 bigint, v2 int, v3 int,v4 int, v5 bigint, v6 int) PARTITIONED BY(dt STRING)行格式分隔字段TERMINATED BY ',' 行 TERMINA
..
减号查询在 HIVE 中似乎不起作用. 尝试过: 从 abc 中选择 x减从 bcd 中选择 x ; 我做错了还是没有为 HIVE 定义减去查询?如果是这样,有没有其他方法可以得到这个结果? 解决方案 HQL 似乎不支持 MINUS 运算符.看到这个相关的,虽然有点旧,资源: http://www.quora.com/Apache-Hive/What-are-the-big
..
基本上我想根据一个列值返回行. 如果该列包含非数字值,则从 hive 表中返回这些行. Hive 中是否有任何 UDF 可用? 解决方案 我相信 Hive 支持 rlike(正则表达式).所以,你可以这样做: where col rlike '[^0-9]' 这会查找任何非数字字符.如果您的数值可能有小数点或逗号,您可以扩展它.
..
我是大数据的新手,目前正在学习 Hive.我理解 InputFormat & 的概念Hive 中的 OutputFormat 作为 SerDe 的一部分.我还了解到“存储为"用于以特定格式存储文件,就像 InputFormat 一样.但我不明白使用 'InputFormat, OutputFormat' & 之间的显着区别是什么?'存储为'. 感谢任何帮助. 解决方案 Hive 有很
..
我在 hive 中做了一些自动脚本的一些查询,我们发现我们需要不时地从表中清除数据并插入新的.我们正在考虑什么可以更快? INSERT OVERWRITE TABLE SOME_TABLESELECT * FROM OTHER_TABLE; 或者这样做更快: DROP TABLE SOME_TABLE;创建表 SOME_TABLE (STUFFS);插入表格SELECT * FROM OTH
..
我遇到了错误 "FAILED: 语义分析错误:Line 1:101 OR not supported in JOIN current dob" 在运行下面提到的查询时.. Insert Overwrite Local Directory './Insurance_Risk/Merged_Data' 选择 f.name,s.age,f.gender,f.loc,f.marital_st
..
HIVE 注释的文档LIMIT 子句返回随机选择的行.我一直在使用 LIMIT 1 在超过 800,000 条记录的表上运行 SELECT 表,但它总是返回相同的记录. 我正在使用 Shark 发行版,我想知道这是否与这种非预期行为有关?任何想法将不胜感激. 谢谢,维萨赫 解决方案 尽管文档说明它随机返回行,但实际上并非如此. 它返回“随机选择的行",因为它出现在数据库中
..
我正在尝试为 Hive 创建一些 UDF,它为我提供了比已经提供的 split() 函数更多的功能. import org.apache.hadoop.hive.ql.exec.UDF;导入 org.apache.hadoop.io.Text;公共类小写扩展 UDF {公共文本评估(最终文本文本){return new Text(stemWord(text.toString()));}/***
..
我对下面语句的理解是,如果在hive列中插入空白或空字符串,将被视为空. TBLPROPERTIES('serialization.null.format'='' 为了测试功能,我创建了一个表并将 '' 插入到字段 3.当我在字段 3 上查询空值时,没有符合该条件的行. 我对将空白字符串设为 null 的理解是否正确? 创建表CDR(field1 字符串,field2 字符串,fi
..
我有以下用例: 我的应用程序在 RDBMS 数据库中有一个包含 多年数据 的表.我们使用 sqoop 将数据导入 HDFS 并加载到按年、月分区的 hive 表中. 现在,应用程序也会每天更新并将新记录插入到 RDBMS 表中.这些更新的记录可以跨越历史月份.更新的记录和新的插入记录可以通过更新的时间戳字段来确定(它将具有当前日期时间戳). 现在的问题是:如何使用这些更新的记录每
..
我的 Hive 表中有时间戳的以下字符串表示形式: 20130502081559999 我需要将其转换为这样的字符串: 2013-05-02 08:15:59 我尝试了以下({code} >>> {result}): from_unixtime(unix_timestamp('20130502081559999', 'yyyyMMddHHmmss')) >>>2013-05-03 00:
..
我不知道我是如何处理这个问题的: 这是我的数据: Table1: Table2:品牌产品销售索尼索尼ABCD 1233苹果索尼 adv 1233谷歌索尼 aaaa 1233IBM 苹果 123 1233等 苹果 345 1233IBM 13123 1233 是否可以过滤查询,我有一个表格,其中包含品牌和总销售额?我的想法是: 选择table1.brand, sum(table2.sol
..
我能做到 ALTER TABLE table_name ADD COLUMNS (user_id BIGINT) 在我的非分区列的末尾和我的分区列之前添加一个新列. 有没有办法在我的非分区列中的任何地方添加一个新列?例如,我想把这个新列 user_id 作为我表的第一列 解决方案 是的,可以更改列的位置,但必须在使用 CHANGE COLUMN 将其添加到表中之后
..