草庐IT

hadoop - 解析日期格式加入hive

我有一个字符串类型的日期字段,格式为:03/11/2001我想将它与另一个字符串格式的列连接起来:1855-05-2512:00:00.0如何在hive中有效地加入两列,忽略第二列的时间部分?我的查询如下所示:LEFTJOINtabel1t1ONtable2.Date=t1.Date 最佳答案 由于您拥有不同格式的日期值,因此您需要对两者使用日期函数,并在连接查询中将其转换为类似格式的日期类型。它会是这样的:LEFTJOINtabel1t1ONunix_timestamp(table2.Date,'yyyy-MM-ddHH:mm:s

hadoop - ESRI Hive ST_Contains 无法正常工作

尝试使用我能找到的JAR(不确定它们是否是最佳选择,我需要使用ESRI并在Hive中执行):ADDJAR/home/user/lib/esri-geometry-api-1.2.1.jar;ADDJAR/home/user/lib/spatial-sdk-hive-1.1.1-SNAPSHOT.jar;ADDJAR/home/user/lib/esri-geometry-api.jar;ADDJAR/home/user/lib/spatial-sdk-hadoop.jar;CREATETEMPORARYFUNCTIONST_PolygonAS'com.esri.hadoop.hive.

sql - Hive 将无法识别查询中第二个条件中的列名

我运行了以下查询并得到了以下错误。请查看该错误消息提到它认为不存在的列名称(平台)。奇怪。hive-S-e'select*fromdevices.device_app_actionwhereds='20160511'ANDplatform='ios'limit3;'FAILED:SemanticException[Error10004]:Line1:73Invalidtablealiasorcolumnreference'ios':(possiblecolumnnamesare:duid,id,dt,app,platform,app_level,tier1,tier2,tier3,ti

hadoop - 如何从 Java 代码运行 Hive Explain 命令?

我想从Java代码运行Hive和ImpalaExplain和计算统计命令。这样我就可以将收集到的信息用于我的分析目的。如果有人有任何想法请帮忙 最佳答案 您可以像针对impala的任何其他jdbc查询一样运行它。名为temp的表的计算统计查询将是“computestatstemp”,您可以将其作为参数传递给jdbcstatement.execute类似地,为了解释一个查询,说“selectcount(*)fromtemp”作为参数传递给statement.execute的查询是“explainselectcount(*)fromte

arrays - Hive 表数组列 - 使用 array_index 展开

嗨,我有一个Hive表selecta,b,c,dfromriskfactor_tableIntheabovetableB,CandDcolumnsarearraycolumns.BelowismyHiveDDLCreateexternaltableriskfactor_table(astring,barray,carray,darray)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'~'storedastextfilelocation'user/riskfactor/data';这是我的表格数据:ID400S,["jms","jndi","jaxb","ja

hadoop - 从vertica导入数据到hive

我尝试使用Sqoop将数据从Vertica上传到Hive。我可以看到它在HIVE上创建了一个文件和一个表,但是当我尝试从HIVE或文件中选择数据时,我看不到数据。它向我显示错误(文件列上没有分隔符)选择。这是我的代码:sqoopimport-m-1--drivercom.vertica.jdbc.Driver--connect"jdbc:vertica://serverName:5443/DBName"--username"user"--password"pass"--query'selectid,namefromcontactslimit10'--target-dir"folder/

java - org.apache.hive.jdbc.HiveStatement/org.apache.hadoop.hive.jdbc.HiveStatement 之间的区别

我一直在使用围绕Hadoop的产品,但对于使用Java开发应用程序还是个新手。我想用一些像HiveStatement这样的类,但是发现有同名类不同包。ex)org.apache.hive.jdbc.HiveStatement,org.apache.hadoop.hive.jdbc.HiveStatement.我在尝试将Statement对象转换为HiveStatement时注意到了这一点。我试图将对象转换为org.apache.hadoop.hive.jdbc.HiveStatement,但转换为org.apache.hive.jdbc.HiveStatement似乎对我来说是正确的案

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

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