草庐IT

hive-overwrite

全部标签

hadoop - Hive 在多列上对 null 的奇怪处理?

这个查询:SELECTcount(distinctfield1,field2,field3,field4)FROMSOME_TABLE返回与此查询不同(更小)的计数:SELECTcount(distinctcoalesce(field1,"null"),coalesce(field2,"null"),coalesce(field3,"null"),coalesce(field4,"null"))FROMSOME_TABLE我希望结果是相同的。对此有解释吗? 最佳答案 您看到不同结果的原因有两点:COUNT(DISTINCT(...)

hadoop - 无法减去涉及 Hive 查询中别名的两列

我正在尝试执行以下查询,其中我使用窗口来获取下一个日志时间戳,然后在它和当前时间戳之间进行减法。SELECTLEAD(timestamp)OVER(PARTITIONBYidORDERBYtimestamp)ASlead_timestamp,timestamp,(lead_timestamp-timestamp)asdeltaFROMlogs;但是,当我这样做时,出现以下错误:失败:SemanticException[错误10004]:第4:1行无效的表别名或列引用“lead_timestamp”:(可能的列名称为:logs.timestamp、logs.latitude、logs.l

hadoop - 作为 Map only 作业执行的 Hive 查询

最近遇到一个问题WillallHivequeriesbeconvertedintomapandreducejobs?我知道Hive查询被转换为一系列MapReduce作业。我不是在谈论在Hive中调用外部脚本。是否存在不需要reduce作业且Hive可以通过Map作业本身获得结果的情况。你有什么想法? 最佳答案 是的。这仅取决于您正在运行的作业类型。例如,如果您有一个具有架构(姓名、ID、部门)的员工表。以下查询运行仅map作业。Mapper从配置单元表中接收(Name,id,department)作为值,并发出Name和Nullw

hadoop - AWS Hive + Kinesis on EMR = 了解检查点

我有一个AWSKinesis流,我在Hive中创建了一个指向它的外部表。然后,我为检查点创建了一个DynamoDB表,并在我的Hive查询中设置了以下属性,如here:所述setkinesis.checkpoint.enabled=true;setkinesis.checkpoint.metastore.table.name=my_dynamodb_table;setkinesis.checkpoint.metastore.hash.key.name=HashKey;setkinesis.checkpoint.metastore.range.key.name=RangeKey;setk

hadoop - 表显示 CLI 中的 Hive 分区,但无法通过终端访问

当我使用命令showpartitions时,我可以在Hive中看到日期分区。但是,当我尝试通过hadoopfs-ls/path/to/partition访问该文件夹时,我收到消息Nosuchfileordirectory。我不确定为什么会这样?即使里面没有数据,我也不能去那个日期分区文件夹吗(我也不能将数据移动到这个分区) 最佳答案 您必须遵循以下步骤:创建托管/内部表CREATETABLEstations(numberSTRING,latitudeINT,longitudeINT,elevationINT,nameSTRING,c

Hive讲课笔记:内部表与外部表

文章目录零、学习目标一、导言二、内部表1.1什么是内部表1.1.1内部表的定义1.1.2内部表的关键特性1.2创建与操作内部表1.2.1创建并查看数据库1.2.2创建数据表1.2.3插入表记录1.2.4通过HDFSWebUI查看数据库与表三、外部表2.1什么是外部表2.2创建与操作外部表2.2.1在虚拟机上建文本文件2.2.2上传文件到HDFS指定目录2.2.3基于HDFS目录创建外部表2.2.4查询外部表记录2.2.5在MySQL里查看hive元数据信息四、内部表与外部表的区别3.1区别体现在删除表3.2通过实验进行验证3.2.1删除内部表3.2.2删除外部表3.2.3查看MySQL里hiv

apache - 缺少依赖项 hive-builtins 导致构建失败,错误代码为 Oozie 410

我尝试从源代码构建oozie但安装失败。我想安装oozie并急切地等待使用它。我在这个阶段失败了:当我从oozie-3.3.3目录中给出cmd时:bin/mkdistro.sh-DskipTests我遇到了这个错误:[INFO]BUILDFAILURE[INFO]------------------------------------------------------------------------[INFO]Totaltime:06:55min[INFO]Finishedat:2015-07-05T14:05:27+05:30[INFO]FinalMemory:39M/372M

hadoop - 具有 Hive 操作的 Oozie 工作流因权限问题而失败

我们有一个运行HDP2.2.0.0的Hadoop集群。我们有另一个运行HDP2.2.4.2的Hadoop集群。我们有一个带有Hive操作的Oozie工作流,它在第一个带有HDP2.2.0.0的集群上运行良好。但是在运行HDP2.2.4.2的第二个集群中,完全相同的工作流程失败,并出现以下错误:38098[main]INFOorg.apache.hadoop.hive.ql.Driver-Startingtask[Stage-4:MOVE]inserialmode2015-07-1516:23:22,810INFO[main]ql.Driver(Driver.java:launchTas

hadoop - HBase 和 Hive 需要放在同一台机器上吗?

我们目前正在构建一个新的hbase集群。架构如下:现在我想添加一个新的Hive集群。但是不知道要不要和hbase在同一个hadoop集群上搭建hive。还是应该为hive构建一个新的hadoop集群?如果我为hive新建一个hadoop集群,执行sql聚合hbase的数据时,hive和hbase之间的流量会不会太大(AFAIK,hive需要将hbase上的数据导入到自己的hdfs存储中)? 最佳答案 让我们首先定义HBase和Hive之间的流量是多少。在每个Hive查询中,您将:使用Hive直接查询HBase使用Hive执行Ware

hadoop - 如何使用 hive/spark-sql 生成大数据集?

例如生成序号在1到1G之间的1G记录。 最佳答案 创建分区种子表createtableseed(iint)partitionedby(pint)用序列号在0到999之间的1K记录填充种子表。每条记录都被插入到不同的分区中,因此位于不同的HDFS目录中,更重要的是-在不同的文件中。附言需要以下集合sethive.exec.dynamic.partition.mode=nonstrict;sethive.exec.max.dynamic.partitions.pernode=1000;sethive.hadoop.supports.sp