草庐IT

hadoop - 如何检查 sort merge bucket join 是否在 HIVE 中工作?

我想验证我的SMB连接是否有效。我可以通过日志验证映射连接,但不能通过SMB。我也通过了解释计划,但没有得到任何提示。请帮助我。 最佳答案 您可以对查询使用EXPLAINEXTENDED。到目前为止,我只能生成一个带有map-reduce的SMB映射连接。当hive正在执行SMBmapjoin时,您可以在explain的输出中的阶段计划下看到“SortedMergeBucketMapJoinOperator”。这是在我的设置中使用map-reduce生成SMB映射连接的代码片段:sethive.execution.engine=mr

join - 如何在 HIVE 中连接两个表。

我有两个表A和B,它们都具有以下结构。//TableANameAgeactualdateno//TableBCitysdateedateid我希望使用JOIN从A和B获取所有字段,其中id=no和sdate=actualdate。我尝试如下使用where子句,但它不起作用。selectv3.*,t3.*fromAv3JOINBt3wherev3.id=t3.noandv3.sdate=t3.actualdatelimit1;使用On子句:selectv3.*,t3.*fromAv3JOINBt3ON(v3.id=t3.noandv3.sdate=t3.actualdate)limit1

java - 生成唯一的客户 ID/在配置单元中插入唯一的行

我需要根据客户名称和地址将唯一行插入到配置单元表中。我们是否可以使用客户名称和地址生成独特的值(value)?我希望生成如下所示的unique_value列并选择具有不同unique_value的行。例如像下面我想生成unique_value列{customer_name}{address}{unique_value}奥马尔街1111瑞安斯特里222奥马尔街1111或任何其他方法也很受欢迎! 最佳答案 您可以尝试两件事。您可以尝试使用UUID,但这会为每一行生成一个唯一的ID。像这样的事情会做:selectreflect("java

java - 从 HIVE UDF 读取 HDFS 文件 - 执行错误,返回代码 101 FunctionTask。无法初始化类

我们一直在尝试创建一个简单的HiveUDF来屏蔽Hive表中的某些字段。我们正在使用一个外部文件(放在HDFS上)来抓取一段文本,以便对屏蔽过程进行加盐处理。看起来我们一切正常,但是当我们尝试创建外部函数时它抛出错误:org.apache.hive.service.cli.HiveSQLException:Errorwhileprocessingstatement:FAILED:ExecutionError,returncode-101fromorg.apache.hadoop.hive.ql.exec.FunctionTask.Couldnotinitializeclassco.co

hadoop - HIVE中如何提高从非分区表加载数据到ORC分区表的性能

我是Hive查询的新手,我正在寻找从Hive表中检索数据的最佳实践。我们启用了TeZ执行引擎并启用了矢量化。我们想从Hive表进行报告,我从TEZ文档中读到它可以用于实时报告。场景来self的WEB应用程序,我想在UI上显示HiveQuerySelect*fromHive表的结果,但是对于任何查询,在hive命令提示符中至少需要20-60秒,即使hive表有60GB数据。1)谁能告诉我如何通过查询Hive表来显示实时报告并在10-30秒内立即在UI上显示结果2)我们发现的另一个问题是,当我们将未分区表中的数据转储到ORC时,最初我们有一个未分区表指向HDFS中的一个Blob/文件,它的

hadoop - 如何获取工资高于HIVE部门平均工资的员工姓名

Dept_idEmp_nameSal1amit25002neha36003ankit4500需要找出工资高于整个部门平均工资的员工姓名。使用配置单元。 最佳答案 Hive在使用子查询时有限制....我们可以使用以下查询解决您的问题...根据您的表更改列名...选择*FROMemployeesJOIN(SELECTs2.deptiddeptid,avg(s2.salary)salfromemployees2groupbydeptid)s3ONs.deptid=s3.deptidWHEREs.sal>s3.sal;复制代码

hadoop - 从 Hive 中的最后一个非空值填充空值

我有4列datenumberEstimateClient----------1310A2NULL10Null3510A4NULL10Null5NULL10Null6210A.......我需要用新值替换NULL值,新值采用日期列中前一个日期的最后一个已知值的值,例如:日期=2数字=3,日期4和5数字=5和5。NULL值随机出现。这需要在Hive中完成。 最佳答案 关于滑动窗口;这是我的表格内容;hive>select*frommy_table;OK1310A2NULL10NULL3510A4NULL10NULL5NULL10NULL

hadoop - 以 parquet 格式文件输出配置单元结果

能否将Hive查询结果导出为parquet文件格式?我可以像这样将结果导出为tsv:INSERTOVERWRITEDIRECTORY'/home/user/events'rowformatdelimitedfieldsterminatedby'\t'但我如何告诉它以Parquet格式进行呢? 最佳答案 插入覆盖目录“EXTERNAL_DIRECTORY”存储为PARQUET从SOURCE_TABLE_NAME选择*; 关于hadoop-以parquet格式文件输出配置单元结果,我们在St

hadoop - 将配置单元脚本的结果导出到没有日志记录信息的文件

我一直将我的配置单元查询存储在hql文件中,我通常使用以下命令运行它们$nohuphive-i'hivescript.hql'>results.tsv&问题是当我取回结果时,文件通常以来自Hive的日志和警告开头。我想知道是否有任何命令行参数可以抑制日志只给我结果? 最佳答案 可以将警告重新路由到另一个文件中$nohuphive-i'hivescript.hql'2>HiveLogs.txt1>results.tsv&这样您将获得两个文件,一个仅包含结果,另一个仅包含来自Hive的日志记录信息。

sql - 使用附加列在配置单元中创建表

我是Hive的新手。我想在配置单元中创建表,其中的列与现有表的列相同,外加一些额外的列。我知道我们可以使用这样的东西。CREATETABLEnew_table_nameASSELECT*FROMold_table_name这将创建与old_table_name具有相同列的表。但是如何在new_table_name中指定额外的列? 最佳答案 实现方法如下:Oldtable:hive>describedepartments;OKdepartment_idintfromdeserializerdepartment_namestringfr