- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我有如下两个表格。基本上我想加入他们两个并期待如下结果。
表 2 的前 3 行没有任何事件 ID 只是空的。
所有字段均以制表符分隔。根据表 2,类别“33”具有三个描述。
我们需要使用“事件 ID”来获取“33”类别的结果,因为它有 3 个值。
谁能告诉我如何实现这个输出?
Empid 类别 ActivityID
44126 33 火车
44127 10 个 UFL
44128 12 个话题
44129 33 未分配
44130 15 微软
44131 33 个好处
44132 43 个好处
类别 ActivityID Categdesc
10 计费
12 计费
15 不可计费
33 TRAIN培训
33 未分配的替补席
33 好处 好处
43个好处
44126 33 训练
44127 10 计费
44128 12 计费
44129 33 板凳
44130 15 不可计费
44131 33个好处
44132 43个好处
最佳答案
做这个 Hive 并不难,因为有很多限制。这就是我解决问题的方法,但可能还有更好的方法。
我将您的表格命名如下。表 1 = EmpActivityTable2 = ActivityMas
挑战来自表 2 中的空字段。我创建了一个 View 并使用 UNION 合并来自两个不同查询的结果。
Create view actView AS Select * from ActivityMas Where Activityid ='';
SELECT * From (
Select EmpActivity.EmpId, EmpActivity.Category, ActivityMas.categdesc
from EmpActivity JOIN ActivityMas
ON EmpActivity.Category = ActivityMas.Category
AND EmpActivity.ActivityId = ActivityMas.ActivityId
UNION ALL
Select EmpActivity.EmpId, EmpActivity.Category, ActView.categdesc from EmpActivity
JOIN ActView ON EmpActivity.Category = ActView.Category
)
您必须使用顶级 SELECT 子句,因为顶级语句不直接支持 UNION ALL。这将运行总共 3 个 MR 作业。下面是我得到的结果。
44127 10 billable
44128 12 billable
44130 15 Non-billable
44132 43 Benefits
44131 33 Benefits
44126 33 Training
44129 33 Bench
关于hadoop - Hive:连接两个具有不同键的表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15702815/
我可以将 CSV 或任何其他平面文件导入到 hive 中,而无需先在 hive 中创建和定义表结构吗?假设我的 csv 文件有 200 列,需要导入到 hive 表中。所以我必须首先在 hive 中创
我有以下示例数据,我试图在 hive 中爆炸它.. 我使用了 split 但我知道我错过了一些东西.. ["[[-80.742426,35.23248],[-80.740424,35.23184],[
我有一个很大的日志文件,我加载到 HDFS . HDFS将根据机架感知复制到不同的节点。 现在我将相同的文件加载到配置单元表中。命令如下: create table log_analysis (log
我正在尝试使用 UDF在 hive 中。但是当我尝试使用 userdate as 'unixtimeToDate' 创建一个临时函数时,我得到这个异常(exception) hive> create
在Mysql中,我们可以使用DO sleep(5) ;来进行暂停。但它在 Hive 中不起作用。 Hive有 sleep 功能吗? 最佳答案 你可以通过反射调用Thread让hive在处理每一行后多等
我正在将数据从 csv 文件导入 Hive。我的表包含字符串和整数。但是,在我的输入文件中,整数周围有空格,所以它看起来像这样: some string, 2 ,another stri
我可以嵌套吗select在 Hive 中具有不同的条件?例如 如果我有以下两个 Hive 查询: select percentile(x, 0.95) from t1 where y = 1; sel
hive 安装有什么特定的模式吗? 例如,Hadoop 安装有 3 种模式:独立、伪分布式和完全分布式。 同样,Hive 是否有任何特定类型的分布? Hive 可以分布式安装吗? 最佳答案 Hive
我正在使用 Hive,我有一个结构如下的表: CREATE TABLE t1 ( id INT, created TIMESTAMP, some_value BIGINT ); 我需要找到
我是 Hadoop 生态系统工具的新手。 任何人都可以帮助我了解 hive 、直线和 hive 之间的区别。 提前致谢! 最佳答案 Apache hive : 1] Apache Hive 是一个建立
如何在 Hive 中写出数组文字? SELECT PERCENTILE(my_column, [0.5, 0.25, 0.50, 0.75, 0.95]) AS quantiles FROM my_t
我正在尝试在Hive中重命名columnName。是否可以在Hive中重命名列名称。 tableA(栏1,_c1,_c2) 至 tableA(column1,column2,column3) ?? 最
减号查询似乎在 HIVE 中不起作用。 尝试过: select x from abc minus select x from bcd ; 我做错了还是没有为 HIVE 定义负查询?如果是这样,还有其他
我正在尝试使用 hive-jdbc 连接将数据插入 Hive (NON-ACID) 表。如果我在“语句”中执行单个 SQL 查询,它就可以工作。如果我尝试使用“addBatch”对 SQL 进行批处理
我知道这些, 要获取表中的列名,我们可以触发: show columns in . 要获取表的描述(包括 column_name、column_type 和许多其他详细信息): describe [f
无法找到有关 Hive 表最大字符限制的合适规范。 我正在开发一个涉及 hive 表的 ETL 过程,这些表已指定格式为 _ 的命名约定,并且提供的表名称远大于 30 字节(pl/sql 的正常限制)
在安装了Hive的集群中,metastore和namenode有什么?我了解 Metastore 拥有所有表架构、分区详细信息和元数据。现在这个元数据是什么?那么namenode有什么呢?这个元存储在
Hive 中静态分区和动态分区的主要区别是什么?使用单独的插入意味着静态,而对分区表的单个插入意味着动态。还有什么优点吗? 最佳答案 在静态分区中,我们需要在每个 LOAD 语句中指定分区列值。 假设
我是 hadoop 和 hive 的新手。如果有人研究过pivot in hive的概念,请与我分享。 例如:来自 teradata 或 oracle 的数据未转置,这些数据应在 hive 中转置。那
1)如果分区列没有数据,那么当你查询它时,你会得到什么错误? 2)如果某些行没有分区列,这些行将如何处理?会不会有数据丢失? 3)为什么需要对数字列进行分桶?我们也可以使用字符串列吗?流程是什么?您将
我是一名优秀的程序员,十分优秀!