草庐IT

INSERT-SELECT

全部标签

hadoop - 如何在 Hive 的 SELECT 语句中提取定界值右侧的字符

我需要提取“/”右侧的所有字符作为选择语句的一部分。cityAmerica/ChicagoEurope/London预期输出是citynameChicagoLondon这是我的查询,它不起作用selectsubstring(city,charindex('/',city)+1,length(city))ascitynamefromtable; 最佳答案 您可以使用正则表达式来提取城市名称。使用正则表达式,您的查询将是这样的。selectregexp_extract(city,'([a-zA-Z]+)',1)fromtable_nam

hadoop - 如何在 "insert"脚本中设置输出文件的数量或大小?

我在配置单元中有一个分区表“t1”,其中包含许多不同大小的数据文件(总计:900Mb)。我想减少文件数量,以便将更少的文件放入另一个表“t2”。表“t1”和“t2”是这样创建的:Sethive.exec.compress.output=true;Setmapred.output.compression.codec=snappy;SETmapred.output.compression.type=BLOCK;usexxx;CREATEEXTERNALTABLEtXpartitionedby(astring,bstring,cstring)ROWFORMATSERDE'org.apache

hadoop - "insert into"正在覆盖数据

互联网无济于事,我的知识有限。我有一个具有以下架构的表:CREATEEXTERNALTABLE`db.temp_entries`(`id`bigint,`random_id`string)ROWFORMATSERDE'org.apache.hadoop.hive.ql.io.orc.OrcSerde'STOREDASINPUTFORMAT'org.apache.hadoop.hive.ql.io.orc.OrcInputFormat'OUTPUTFORMAT'org.apache.hadoop.hive.ql.io.orc.OrcOutputFormat'LOCATION'hdfs:/

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

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

Mysql数据库:select from语句详解

Mysql数据库:selectfrom语句详解一、selectfrom语句概述二、selectfrom语句的基本用法三、selectfrom语句的示例1、查询所有列2、查询特定列3、查询带有条件的数据(过滤)4、查询结果排序5、查询结果限制6、查询结果去重7、查询结果分组8、查询结果统计9、查询结果联合10、查询简单的计算11、查询别名12、NULL参与运算13、着重号(反引号)💖TheBegin💖点点关注,收藏不迷路💖一、selectfrom语句概述selectfrom语句用于从数据库中查询数据。它由两个关键字组成:select和from。select关键字用于指定要查询的列,from关键字

hadoop - 在 Hive 中编写带有 where 子句的嵌套 select 语句

我需要在Hive查询的where子句中进行嵌套选择。示例代码片段如下;选择*来自表AwhereTA_timestamp>(selecttimestmpfromTableBwhereid="hourDim")这是可能的还是我在这里做错了什么,因为我在运行上述脚本时遇到错误?!为了进一步详细说明我正在尝试做的事情,有一个cassandra键空间,我发布了带有时间戳的统计信息。定期(例如每小时)使用hive汇总此统计信息,一旦汇总,数据将与相应的小时分开存储。因此,当查询第二次运行(和连续运行)时,查询应该只在新数据上运行(即-timestamp>previous_execution_tim

insert 用法总结

#前言插入数据就是将数据记录添加到已有的表数据中,oracle数据库通过insert语句来实现插入数据记录。该语句既可以一次插入一条记录,也可以使用select子句将查询结果集批量插入数据表。单条插入数据是insert语句最基本的用法,语法如下:insertintotable[(column1,column2,…)]value(value1,value2,…)示例如下:先创建一张测试表,创建之前先查询是否存在,以免覆盖已有表。可以先插入部分数据,后续测试使用。createtabletmp_ceshi1(branchidVARCHAR2(11),prodnoVARCHAR2(20),priceN

hadoop - HIVE QUERY SELECT * FROM bookfreq where freq IN (SELECT Max(freq) FROM bookfreq);

我正在编写配置单元查询,因为获取记录具有最大频率值。tablenamebookfreq,havingtwocolumnyear&freqyearfreq19992200041989419905查询:SELECT*FROMbookfreqwherefreqIN(SELECTMax(freq)FROMbookfreq);我遇到了这样的异常FAILED:ParseExceptionline1:38cannotrecognizeinputnear'SELECT''Max''('inexpressionspecification 最佳答案 如

mysql - 如何在 hive 中的 select 语句中编写子查询,其中附加列的单个值是通过某些行的总和获得的

假设有一个表格,其中包含列作为学生表现的详细信息。Student(name,subject,marks,verdict('pass'/'fail')).我需要在此表中添加另一列,即特定学生不及格的科目总分。在MySQL中我可以这样写:select*,select(sum(marks)fromStudentwherename=s.nameandverdict='fail')fromStudents;但它在hive中不起作用。ERROR:UnsupportedSubQueryExpressionInvalidsubquery.SubqueryinSELECTcouldonlybetop-l

hadoop - 使用 hive -e 'select' 打印列标题时是否可以停止 HIVE 打印数据库?

执行时:hive-e'select*fromdatabase.table'>/localfilesystem/mytable.txt列标题名称的格式为database.columnname,我希望它们只是columnname。执行上述类型的查询时,有没有办法在列名中抑制数据库? 最佳答案 hive.resultset.use.unique.column.names是在0.13中添加的,默认为True。只需在~/.hiverc或hive-site.xml中将其设置为falsehive.resultset.use.unique.colu