草庐IT

hadoop - 如何确定 Hive 表是外部表还是内部表?

我在这里有多个问题。我正在寻找任何配置单元shell命令或查询以查找以下详细信息。给定一个Hive数据库名称,如何获取该数据库中的外部表列表?给定一个hive表名,如何判断该表是外部表还是内部表?提前致谢 最佳答案 1)给定一个hive数据库名称,如何获取该数据库中的外部表列表?你可以试试这个命令:SHOWTABLES[INdatabase_name][identifier_with_wildcards];它会给你所有的表。据我所知,没有直接命令可以知道所有外部/内部类型的表。为此,您已使用JDBC连接连接到HiveMetastor

sql - 如何通过运算符(operator)从 Hive 组中获取元素数组/包?

我想按给定字段分组并获得包含分组字段的输出。以下是我要实现的目标的示例:-假设一个名为“sample_table”的表有两列,如下所示:-F1F2001111001222001123002222002333003555我想编写将提供以下输出的Hive查询:-001[111,222,123]002[222,333]003[555]在Pig中,这可以很容易地通过这样的事情来实现:-grouped_relation=GROUPsample_tableBYF1;有人可以建议在Hive中是否有一种简单的方法可以做到这一点?我能想到的是为此编写一个用户定义函数(UDF),但这可能是一个非常耗时的选

最全HSQL命令大全(Hive命令)

第1章算数运算1.1加法:+语法:A+B操作类型:所有数值类型说明:返回A与B相加的结果。结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型的继承关系)。比如,int+int一般结果为int类型,而int+double一般结果为double类型hive>select1+9fromiteblog;10hive>createtableiteblogasselect1+1.2fromiteblog;hive>describeiteblog;double1.2减法:-语法:A-B操作类型:所有数值类型说明:返回A与B相减的结果。结果的数值类型等于A的类型和B的类型的最小父类型(详见数据类型

hadoop - 如何在 Hive 中编写子查询和使用 "In"子句

如何在Hive中使用In子句我想在Hive中写这样的东西selectxfromywherey.zin(selectdistinctzfromy)orderbyx;但我没有找到任何方法来做到这一点..我在Hive0.7中尝试了In子句,它抛出了错误,我也尝试了Find_in_Set..使用find_in_set(y.z,subquery)..但作业失败了。我想在Hive上执行此操作。如果有人知道如何在Hive中执行此操作,请帮助我。感谢和问候,阿图尔 最佳答案 你可以使用半连接(https://cwiki.apache.org/Hiv

date - Hive:动态分区添加到外部表

我正在运行配置单元071,处理具有以下目录布局的现有数据:-表名-d=(例如2011-08-01)-d=2011-08-02-d=2011-08-03...等等在每个日期下我都有日期文件。现在加载我正在使用的数据CREATEEXTERNALTABLEtable_name(iint)PARTITIONEDBY(dateString)LOCATION'${hiveconf:basepath}/TableName';**我希望我的配置单元脚本能够根据一些输入日期和天数加载相关分区。所以如果我通过date='2011-08-03'和days='7'该脚本应加载以下分区-d=2011-08-03

hadoop - Hive 查询结果的 JSON 输出格式

有没有办法将Hive查询结果转换为JSON格式? 最佳答案 这似乎经常出现。使用来自Brickhouse(http://github.com/klout/brickhouse)的to_jsonUDF。如果您将结果转换为named_struct,它会将其解释为JSON映射,并相应地输出。SELECTto_json(named_struct("field1",field1,"field2",field2,"field3",field3))FROMmytable;to_json也会相应地解释数组和映射。

sql - 为什么 Select Count(*) 比 Hive 中的 Select * 慢

当我使用配置单元在VirtualBoxSandbox中运行查询时。我觉得Selectcount(*)比Select*慢太多了。谁能解释一下背后发生了什么?为什么会出现这种延迟? 最佳答案 select*fromtable它可以是一个只有Map的工作但是SelectCount(*)fromtable它可以是Map和Reduce作业希望这对您有所帮助。 关于sql-为什么SelectCount(*)比Hive中的Select*慢,我们在StackOverflow上找到一个类似的问题:

hadoop - 如何从 Hadoop-Hive 中删除/截断表?

请告诉我如何从配置单元中删除表,并告诉我从哪里可以获得有关配置单元查询的更多信息。 最佳答案 您可以使用drop从HDFS中删除元数据和实际数据的命令。并且只是为了删除数据并保留表结构,使用truncate命令。有关hiveql的更多帮助,请查看languagemanualofhive. 关于hadoop-如何从Hadoop-Hive中删除/截断表?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/q

hadoop - Hive 有等同于 DUAL 的东西吗?

我想运行这样的语句SELECTdate_add('2008-12-31',1)FROMDUALHive(在AmazonEMR上运行)是否有类似的东西? 最佳答案 最好的解决办法是不提表名。select1+1;给出结果2。但是可怜的Hive需要生成mapreduce才能找到这个! 关于hadoop-Hive有等同于DUAL的东西吗?,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/9

hadoop - 如何计算 hive 中的日期差异

我是新手。我有一个员工表,其中有一列指定加入日期,我想检索过去3个月内加入的员工列表。我知道我们可以使用from_unixtime(unix_timestamp())获取当前日期。如何计算datediff?是否有像MSSQL中那样的内置DATEDIFF()函数?请指教! 最佳答案 datediff(to_date(Stringtimestamp),to_date(Stringtimestamp))例如:SELECTdatediff(to_date('2019-08-03'),to_date('2019-08-01'))