草庐IT

hadoop - Apache Hive - 单次插入日期值

我正在尝试使用Hive将日期插入到日期列中。到目前为止,这是我尝试过的INSERTINTOtable1(EmpNo,DOB)VALUES('Clerk#0008000',cast(substring(from_unixtime(unix_timestamp(cast('2016-01-01'asstring),'yyyy-MM-dd')),1,10)asdate));和INSERTINTOtabletable1values('Clerk#0008000',cast(substring(from_unixtime(unix_timestamp(cast('2016-01-01'asstr

hadoop - 如何从配置单元表列表中选择最后一个表?

我有一个配置单元表列表,想选择最后一个表来执行一些查询。这是我用来获取类似配置单元表列表的方法。showtables'test_temp_table*';显示如下结果test_temp_table_1test_temp_table_2test_temp_table_3test_temp_table_4test_temp_table_5test_temp_table_6我需要在test_temp_table_6上运行一些查询。我可以通过将输出写入临时文件并从中读取最后一个值来使用shell脚本来执行此操作,但是是否有一种简单的方法使用配置单元查询来获取最后一个具有最大数字的表?

hadoop - 无法从给定路径 : hdfs://. 读取架构 ..avsc

我尝试通过以下步骤创建一个配置单元表:使用sqoop将数据加载到hdfs(完成)sqoop还创建了一个avsc文件,我将其上传到hdfs在配置单元中,我想使用以下语句创建一个表:命令:CREATEEXTERNALTABLEkontoauszugROWFORMATSERDE'org.apache.hadoop.hive.serde2.avro.AvroSerDe'STOREDASINPUTFORMAT'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'OUTPUTFORMAT'org.apache.hadoop.hive

SQL/HIVE - 不同计数查询 - SELECT COUNT (DISTINCT columns,..) 与 SELECT COUNT(*) 与 DISTINCT 记录的子查询有何不同

在HIVE中,我尝试使用2种方法获取不同行的计数,SELECTCOUNT(*)FROM(SELECTDISTINCTcolumnsFROMtable);SELECTCOUNT(DISTINCTcolumns)FROMtable;两者都产生了不同的结果。第一个查询的计数大于第二个查询。他们的工作方式有何不同?提前致谢。 最佳答案 对您的查询做一点小改动,例如将您的子查询命名为:SELECTCOUNT(*)FROM(SELECTDISTINCTcolumnsFROMtable)myquery;

hadoop - 将 NULL 值从 Hive 导出到 Teradata

我在Hive中有一个表,其中某些列具有NULL值,我正在使用Teradata连接器将该表从Hadoop导出到Teradata。我的问题是NULL值被视为字符串NULL而不是NULL。如何将NULL值直接导出到Teradata?请帮忙。 最佳答案 您是否在导出命令中使用了input-null-string参数?根据documentation:The--input-null-stringand--input-null-non-stringargumentsareoptional.If--input-null-stringisnotspe

java - 用于查找最常出现的列值的 Hive UDAF

我正在尝试创建一个HiveUDAF来查找最常出现的列(字符串)值(不是单个字符或子字符串,使用精确的列值)。假设以下是我的名为my_table的表(破折号用于在视觉上分隔列)。User_Id-Item-Count1-A-11-B-11-A-11-A-11-A-11-C-12-C-12-C-12-A-12-C-1假设我调用以下脚本:SelectUser_Id,findFrequent(*)frommy_tablegroupbyUser_Id我应该得到以下输出,因为对于User_Id=1,A出现了4次而B和C只出现了一次。所以,User_Id=1最频繁的是A。同样,User_Id=2最频繁

hadoop - 如何循环 Hive 查询并使用循环变量

假设我有两个表Externaltable-etableInternaltable-itable我的表是根据日期分区的。现在,为了每天从etable的数据中填充我的itable,我在hue中使用HiveQuery的工作流和协调器如下所示:ALTERTABLEetableADDIFNOTEXISTSPARTITION(date='${date}')LOCATION'path/date=${date}';INSERTOVERWRITETABLEitablepartition(date='${date}')SELECT*FROMetableWHEREdate='${date}';现在假设每天我

hadoop - Hive 中 MetaStore 的主要用途?

我对MetaStore的用途有点困惑。在hive中创建表时:CREATETABLE(column1data_type,column2data_type);LOADDATAINPATHINTOtablemanaged_table;所以我知道这个命令获取HDFS中文件的内容并创建它的MetaData形式并将其存储在MetaStore中(包括每行的列类型,列名,它在HDFS中的位置等)在HDFS文件中)。它实际上并没有将数据从HDFS移动到Hive。但是存储这个元数据的目的是什么?例如,当我使用SparkSQL连接到Hive时,MetaStore不包含HDFS中的实际信息,而只包含元数据。那

hadoop - 配置单元日期格式 '01-DEC-17' 到 '2017-12-01'

如何将'13-FEB-18'转换为'2018-02-18'格式我试过了selectupper(from_unixtime(unix_timestamp('13-FEB-18','DD-MMM-YY'),'YYYY-MM-dd'));但得到这个输出。'2017-12-31' 最佳答案 您应该使用小写的yy或yyyy和dd。selectupper(from_unixtime(unix_timestamp('13-FEB-18','dd-MMM-yy'),'yyyy-MM-dd'));O/p2018-02-13请引用以下链接:Format

hadoop - 我们如何将多个 hql 文件传递​​给 hive/beeline?

我想在一个配置单元session中运行file_1.hql和file_2.hql。我怎样才能做到这一点?我正在考虑将这两个文件作为hive-ffile_1.hqlfile_2.hql传递。但是-f只需要一个文件。有什么建议吗? 最佳答案 使用bash怎么样:hive-e"$(catfile1.hqlfile2.hql)" 关于hadoop-我们如何将多个hql文件传递​​给hive/beeline?,我们在StackOverflow上找到一个类似的问题: ht