草庐IT

sql - Hive 和选择不匹配的记录

我有两个表,如表A、B,我需要选择A与B的不匹配记录(即A减去B)。A有多列,B是单列(ID)。我试过如下,但是花费了太多时间Select*fromAwhereA.ID(selectB.IDfromB).我也试过了Select*fromAleftouterjoinonBwhereA.ID=B.IDANDB.IDISNULL显示错误的结果请帮我确定解决方案。谢谢。 最佳答案 使用where子句进行过滤。Select*fromAleftouterjoinBonA.ID=B.IDwhereB.IDISNULL

hive sql,年月日 时分秒格式的数据,以15分钟为时间段,找出每一条数据所在时间段的上下界限时间值(15分钟分区)

获取当前的年月日时分秒selectdate_format(current_timestamp(),'yyyy-MM-ddHH:mm:ss')date_format(时间字段,‘yyyy-MM-ddHH:mm:ss’)将时间字段转为2023-10-1818:14:16这种格式在指定时间上增加15分钟selectfrom_unixtime(unix_timestamp(current_timestamp(),'yyyy-MM-ddHH:mm:ss')+(15*60),'yyyy-MM-ddHH:mm:ss')unix_timestamp:获取当前时间的UNIX时间戳(从1970-01-0100:0

hadoop - 重写 Hive IN 子句

我正在尝试在HIVE中执行此子查询,但我收到错误消息,指出我的HIVE版本不支持子查询,不幸的是,是的,我们使用的是旧版本的HIVE。selectcol1,col2fromt1wherecol1in(selectxfromt2wherey=0)然后我像这样使用左半连接重写了子查询,selecta.col1,a.col2FROMt1aLEFTSEMIJOINt2bon(a.col1=b.x)WHEREb.y=0如果我不给出where条件,此查询运行良好,但当我尝试在where条件中使用b.any列或在select子句中使用b.any列时,它无法识别表b。抛出这个错误-Errorwhile

hadoop - 将 TeraData 查询转换为 Hive

请将以下TeraData查询转换为Hive。我是Hive的新手,无法转换它。请指导如何将Teradata的Case..转换为Hive。转换时..我遇到很多错误SELECTMLOC.MATL_LOC_ID,MLOC.MATL_ID,MLOC.LOC_PRTY_ID,MLOC.SRC_SYS_CD,MLOC.PLNT_CD,MLOC.PRCTR_SGMNT_ID,MLOC.PRCTR_CD,MLOC.CC_SGMNT_ID,MLOC.CC_CD,MLOC.CNTL_AREA_NUM,MLOC.DFLT_MATL_PLNT_DESC,MLOC.VALUATION_CATEGORY_CD,ML

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