草庐IT

hive-overwrite

全部标签

sql - 如何检查 HIVE 中 having 子句的顺序?

我希望能够编写一个查询,告诉我哪些数据组没有序列中的每个数字。例如,我的table是这样的:Columns:sequencegroup10ADM1ADM0GDM2GDM3GDM0WJK而且,我想知道group1中的哪些唯一值包含从0开始并计数的所有数字。因此,在这种情况下,ADM和WJK将被返回,但GDM不会。GDM不会,因为它从0、2、3开始并跳过1。我如何在HIVE中编写查询来告诉我列group1中的哪些唯一值依次包含所有整数? 最佳答案 SELECTgroup1FROMTableNameGROUPBYgroup1HAVINGC

scala - 将转换从 hive sql 查询移动到 Spark

valtemp=sqlContext.sql(s"SELECTA,B,C,(CASEWHEN(D)in(1,2,3)THEN((E)+0.000)/60ELSE0END)ASZfromTEST.TEST_TABLE")valtemp1=temp.map({temp=>((temp.getShort(0),temp.getString(1)),(USAGE_TEMP.getDouble(2),USAGE_TEMP.getDouble(3)))}).reduceByKey((x,y)=>((x._1+y._1),(x._2+y._2)))我希望在scala中完成转换,而不是上面在配置单​​

hadoop - sqoop导入数据到hive

我正在尝试使用sqoop2将数据导入到配置单元表。我正在使用--hive-import但它不起作用代码:sqoopimport--connectjdbc:sqlserver://192.168.x.xxx:11xx--usernameuser--passworduser--tablexxxx.NOTIFICATION--hive-import错误:ERRORmanager.SqlManager:Errorexecutingstatement:com.microsoft.sqlserver.jdbc.SQLServerException:Invalidobjectname'XXXX.NO

date - Hive 数据类型混淆

我有大量数据,其中一个字段类似于WedSep1519:17:44+01002010,我需要将该字段插入到Hive中。我为选择数据类型而烦恼。我尝试了时间戳和日期,但从CSV文件加载时得到空值。 最佳答案 数据类型是字符串,因为它是文本。如果你想转换它,我建议使用TIMESTAMP。但是,您需要在加载数据时或之后(甚至更好)自己进行此转换。要转换为时间戳,可以使用以下语法:CAST(FROM_UNIXTIME(UNIX_TIMESTAMP(,'FORMAT'))asTIMESTAMP)虽然您的格式看起来很复杂。我的建议是将它作为字符串

sql - 对分组列 Hive 的操作

在Hive表中,我有它们的实际销售额和预测。所以数据看起来像:itemdatesalesDolsalesUnitpredictionU11/1/20165.9910.911/1/20165.4910.912/1/20165.9910.8413/1/20166.0410.92为了计算平均价格,我这样做:createtabledata1asselectitem,date,predictionUfromdataJOIN(selectsum(salesDol)astotDol,sum(salesUnit)astotUnitfromdata);所以在每一行中我都有totDol和totUnit。现

sql - 获取Hive中每个单词的唯一字数

我有如下表格,从表名中选择*;IDsentence1Thisisasentence2Thismightbeatest3America4Thisthis我想编写一个查询,将句子拆分成单词,并按降序获取单词数。我想要一个类似的输出,wordcountUnique(ids)This43a22might11...其中count是单词在列中出现的次数,Unique(ids)是使用该单词的用户数。我在想我们可以用什么方式编写查询来做到这一点?有人可以帮我在hive中做这件事吗?谢谢 最佳答案 侧面Viewhttps://cwiki.apache

java - JDBC hive 连接字符串中使用的端口号在哪里定义?

我刚刚开始Hadoop和Hive编程,并且编写了一个Java代码,它连接到一个derbyMetastore,并提供正确的输出。我定义的连接字符串是:jdbc:hive2://localhost:10000/default该程序运行良好,并为我提供了所需的输出。但是我想知道这个端口号10000是在哪里定义的,以及如果需要如何更改这个端口号。 最佳答案 您可以在Hive安装目录下找到所有与Hive相关的配置详细信息。文件名为hive-site.xml就像在我的例子中文件存在于此路径下/usr/hdp/current/hive-serve

hadoop - Hive 中字符串的 CLUSTER BY

我在Hive中有以下查询CREATETABLEbucketed_users(idINT,nameSTRING,FlatNumberINT)CLUSTEREDBY(id)INTO4BUCKETS;是否只能在INT列(也在FlatNumber)上进行聚类,或者我们可以定义自定义函数,该函数将提供划分为聚类桶的逻辑? 最佳答案 可以在任何列上创建集群/桶,对于非数字列,HIVE将使用HASH(col)%"numberofbuckets"来查找记录的桶。 关于hadoop-Hive中字符串的CL

hadoop - HIVE 拆分字符串

hive:-我有一列changeContext==>"A345|Fq*A|2017-05-01|2017-05-01"(字符串),我需要从中提取A345作为另一列。有什么建议吗?附言我已经尝试过regexp_extract(遇到顶点故障)所以任何其他解决方案都是完美的。 最佳答案 withtas(select"A345|Fq*A|2017-05-01|2017-05-01"aschangeContext)selectsubstring_index(changeContext,'|',1)option_1,split(changeCo

java.lang.ClassNotFoundException : org. apache.hive.service.cli.HiveSQLException 异常

为了通过spring应用程序连接配置单元,我在pom.xml中添加了以下依赖项。org.apache.hivehive-jdbc2.1.1org.apache.thriftlibfb3030.9.3org.apache.hivehive-commonorg.apache.hivehive-service-rpc2.1.1Butstilliamfacingthebelowexception::Causedby:java.lang.NoClassDefFoundError:org/apache/hive/service/cli/HiveSQLExceptionatorg.apache.hi