草庐IT

hadoop - 配置单元解释计划生成

正如我们所知,hive中的解释后跟查询为我们提供了该查询的解释计划作为输出,是否有可能以任何形式的数据结构而不是文本格式获取解释计划? 最佳答案 我认为您可以使用FORMATTED获取JSON格式的输出。你可以试试:EXPLAINFORMATTED查询这应该为您提供JSON格式的解释输出。 关于hadoop-配置单元解释计划生成,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/50

hadoop - Hive - Hive 如何在内部执行多个 BIG 表连接查询(在 MapReduce 中)以及如何对其进行优化?

假设我有4-5个所有大表(TB中的数据)并且我想将它们连接到配置单元中。Hive内部(在MapReduce中)如何以最佳方式执行连接。 最佳答案 可以使用Bucketized-Join或Sort-Merge-Join以最佳方式连接许多大表,请参阅HIVEJoinstrategies.所有表都需要进行相应的结构化(相同的存储桶,或以相同的方式排序和存储)。如果您的表的组织方式不同(存储相同),那么剩下的唯一选择就是随机连接,这将复制整个表(慢)。 关于hadoop-Hive-Hive如何在

apache-spark - Snappydata 和外部 Hive 兼容性

我正在尝试使用Snappydata1.0.1从Hadoop(HDP2.6.3)读取和处理数据。当指向Hivemetastore(通过Snappydata配置中的hive-site.xml)时,来自Snappydata发行版的Spark可以读取数据库列表,但不能在Snappydata中创建表。它告诉“找不到表”。此外,Snappydata集群UI显示该表,但Snappydata无法进一步使用它-使用此表的INSERT、SELECT、DROP命令会抛出表未找到错误,随后的CREATETABLE会提示“表已存在”。在不指定Hive元存储的情况下,它运行良好。hive-site.xml中的配置

hadoop - 配置单元,请求特定范围内的文件

假设在HDFS上我有包含以下内容的文件:data1-2018-01-01.txt,data1-2018-01-02.txt,data1-2018-01-03.txt,data1-2018-01-04.txt,data1-2018-01-06.txt现在我想根据日期查询文件:select*frommytablewheredate>2018-01-03anddate我的问题是:是否可以仅在满足我的查询的这些文件上创建一个外部表?或者,也许您有任何解决方法?我知道,我可以使用分区,但它们需要在新数据集到达时手动获取数据。 最佳答案 将这些

hadoop - Hive:Decimal(12,9) 的列类型使用 JSONSerDe 抛出 NullPointerException

我有一个指向json数据的外部表。我正在使用serdeorg.apache.hive.hcatalog.data.JsonSerDe。我使用DDL在这个外部表之上创建了一个View:CREATEVIEW`my_table`ASSELECTa.col1,a.col2,......a.longitude,a.latitudeFROM(SELECTmytable.body.col1,mytable.body.col2,......mytable.body.longitude,mytable.body.latidute,ROW_NUMBER()OVER(PARTITIONBYmytable.b

apache-spark - spark 谓词下推不适用于 phoenix hbase 表

我正在处理spark-hive-hbase集成。这里使用phoenixhbase表进行集成。Phoenix:**apache-phoenix-4.14**HBase:**hbase-1.4**spark:**spark-2.3**hive:**1.2.1**我正在使用sparkthrift服务器并使用jdbc访问表。我测试的几乎所有基本功能都运行良好。但是当我从spark提交查询时,它会在没有where条件的情况下提交给phoenix并且所有过滤都发生在spark端。如果表有数十亿的数据,我们就不能这样做。示例:Input-query:select*fromhive_hbasewher

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:/

hadoop - 配置单元 get_json_object() : How to check if JSON field exists?

我正在使用Hive和get_json_object()函数来查询存储为JSON的数据。JSON有一个coordinate键和两个字段(纬度和经度),如下所示:"coordinate":{"center":{"lat":36.123413127558536,"lng":-115.17381648045654},"precision":10}我正在运行Hive查询以检索某个地理坐标框中的数据,如下所示:INSERTOVERWRITELOCALDIRECTORY'/home/user.name/sample/sample1.txt'SELECT*FROMmytableWHEREget_jso

hadoop - EMR 5.16.0 - 启动了太多映射器

尝试将EMREC2实例从5.3C4.4Xlarge(HIVEver2.1.1)升级到EMR5.16.0C5.4XLarge(Hive2.3.3)我的简单查询selectmax(date)fromtablein2.1.1EMR5.3.0仅启动1个映射器和1个缩减器,而当我升级并运行相同的查询时,它启动了1300多个映射器。尝试比较两者的设置属性,发现没有区别。有人可以帮我吗 最佳答案 尝试以下设置。在从hive2.1.1到2.3.3的过程中,他们将其从true翻转为false。sethive.optimize.metadataonly

hadoop - Hive 查询以根据多个可选键分配分组键

我们有一个包含三个不同ID的Hive表,所有ID都是可选的。在每一行中,必须至少提供三个ID中的一个。如果提供了多个ID,这将在多个ID之间建立等价关系。我们需要根据在任何行中建立的等价关系,为每一行分配一个唯一的主ID。例如:Lineid1id2id3masterID--------------------------------------(1)A1M1(2)A2M1(3)A3M1(4)A1A2M1(5)A2A3M1(6)B1A2M1(7)C1C3M2因为在第4行,A1和A2都存在,我们知道这些ID是等价的。同样,在第5行,A2和A3都存在,我们知道这些ID也是等价的。同样在第6行