草庐IT

nice-select

全部标签

hadoop - 如何让 HIVE 中的 CREATE TABLE...AS SELECT 不填充数据?

当我在HIVE中运行CTAS时,数据也会同时填充。但我只想创建表,而不是填充数据。我应该怎么做?谢谢。 最佳答案 您可以使用LIKE关键字来做到这一点。createtablenew_table_nameLIKEold_table_name这将创建没有数据的表结构。 关于hadoop-如何让HIVE中的CREATETABLE...ASSELECT不填充数据?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.co

hadoop - 如何使用 INSERT-SELECT 查询加载具有复杂数据类型的 Hive 表

我们有一个查询,用于将数据加载到一个表中,使用INSERT-SELECT查询直接在另一个表上,如下所示INSERTOVERWRITETABLESELECT*FROMt2WHERE;同样如何加载复杂数据类型的表?我怎样才能让我的SELECT查询中的几个/一些列为复杂数据类型的列做出贡献?我清楚了吗?table1的模式是TABLE(col1INT,col2STRING,col3ARRAY)注意:从文件加载到这样的表是可能的,但我只是想尝试是否可以使用上面的INSERT-SELECT查询方式加载。感谢您的关注。 最佳答案 Hive等同于i

java - 如何在 Hive 嵌入式模式下运行包含 "select count(*)"和 "group by"子句的 Hive Sql 查询?

如何在Hive嵌入式模式下运行此查询(1)selectproduct,count(*)ascntfromhive_bigpetstore_etlgroupbyproduct在Maven控制台中,我得到一个InvocationTargetException异常在我找到的Hive日志文件中java.lang.Exception:java.lang.NullPointerExceptionatorg.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:354)Causedby:java.lang.NullPointe

RLive : Only simple `select` works?

我在CentOS(Linux2.6.32-431.5.1.el6.x86_64)上使用Hadoop2.2.0.2.0.6.0-101运行RHive(https://github.com/nexr/RHive)RHive可以进行基本的select查询:rhive.query("select*fromsimple")并且RHive无法执行带条件的查询。例如:rhive.query("select*fromsimpleorderbyrating")Error:java.sql.SQLException:Errorwhileprocessingstatement:FAILED:Executio

hadoop - Hive:对于通过 HiveServer2 具有超过 5000 行的表,select * from table 失败

我在Hive中有一个表sdh,它有100000行。当我执行命令时select*fromsdh在CLI上,显示所有行但是当我在直线上通过HiveServer2运行它时,相同的命令只是挂起所有其他具有1000奇数行的表都可以通过CLI或直线运行。还有其他人遇到过类似的问题吗?我从日志中得到错误org.apache.thrift.TApplicationException:InternalerrorprocessingFetchResultsatorg.apache.thrift.TApplicationException.read(TApplicationException.java:10

hadoop - 在配置单元查询的 SELECT 部分重用别名

我想在配置单元查询的SELECT部分中重复使用别名。我的用例是重用case语句的结果,但我相信这个例子就足够了:createtabletestmeasselectaccountidasabc,abcasxyzfromaccount_attributes;Hive提示找不到“abc”。有任何建议的解决方法吗? 最佳答案 试试这个:createtabletestmeasselectaccountidasabc,accountidasxyzfromaccount_attributes; 关于h

scala - 从spark中的json模式动态生成df.select语句

我正在从宽字符串中选择列,其偏移量如下所示df2=df.select(substring(col("a"),4,6).as("c")).cast(IntegerType)但是我必须从字符串中提取1000列,如果我可以提供诸如列名、数据类型、宽度、起始位置和结束位置等详细信息,那么如何使用jsonsparkstruct模式生成select语句。另外,我不得不将一些列转换为intergertype或longtype,但是我观察到这些字段被像111111111将在转换为integertype时转换为1 最佳答案 如果可以使用configf

hadoop - 在配置单元中使用 select 的子查询

团队,我这里有一个问题,有2个临时表a和b,其各自列的值为5和6,例如a.ref1和b.ref2。我正在尝试将这些值放入另一个SQL中,例如"selectc.col1,d.col1,d.col2fromcjoindona.id=d.idwhered.col1=(schema_name).a.ref1ord.col2=(schema_name).b.ref2"我得到类似的错误"Invalidtablealiasorcolumnreference".任何想法,为什么它会这样。我尝试使用select查询来传递临时表值,但这在配置单元中不起作用。任何进一步的帮助将不胜感激

sql - Hive-我如何使用原始表中的分区 "create table as select.."?

我需要从我们的配置单元dlk创建一个“工作表”。虽然我可以使用:createtablemy_tableasselect*fromdlk.big_table很好,我在从原始“big_table”继承分区(属性day、month和year)或只是创建来自这些属性的新属性。搜索网络并没有真正帮助我回答这个问题-所有“教程”或解决方案都涉及createasselect或创建分区,而不是两者。这里有人可以帮忙吗? 最佳答案 不支持创建分区表作为选择。您可以分两步完成:像dlk.big_table一样创建表my_table;这将创建具有相同架构

hadoop - 在 HIVE 的 select 语句中写入大量磁盘 io

在配置单元中我运行一个查询-selectret[0],ret[1],ret[2],ret[3],ret[4],ret[5],ret[6]from(selectcombined1(extra)asretfromlog_test1)a;这里ret[0],ret[1],ret[2]...是域、日期、IP等。此查询正在磁盘上进行大量写入。iostat结果在集群中的一个盒子上。avg-cpu:%user%nice%system%iowait%steal%idle20.650.001.8257.140.0020.39Device:rrqm/swrqm/sr/sw/srkB/swkB/savgrq-