草庐IT

hadoop - 如何在 Hive 中使用使用 Apache Drill 创建的 Parquet 文件

ApacheDrill有一个很好的功能,可以从许多传入的数据集中制作parquet文件,但似乎没有很多关于以后如何使用这些parquet文件的信息——特别是在Hive中。Hive有没有办法利用那些“1_0_0.parquet”等文件?也许创建一个表并从parquet文件加载数据,或者创建一个表并以某种方式将这些parquet文件放入hdfs以便Hive读取它? 最佳答案 我遇到过这个问题,如果您使用的是Cloudera发行版,则可以使用impala创建表(Impala和Hive共享metastore),它允许从parquet文件创建

hadoop - 从 Hive 中的 collect_list 结果构造映射

一系列UNIONALL生成我想用来构建MAP的键值对列表。所需的功能是这样的:selectid1,id2,map(collect_list(col))asmeasurementsfrom(selectid1,id2,"height"ascolunionallselectid1,id2,count(*)ascolfromtable1unionallselectid1,id2,"weight"ascolunionallselectid1,id2,count(*)ascolfromtable2)什么是正确的实现方式?我希望得到的结果是:id1id2measurements110{"heigh

HIVE 表中的 JSON 数据上传给出 NoViableAltException/PraseException

我的Json在下面。我必须将此JSON加载到配置单元中,并且必须查询一些详细信息。{"id":"1234","pdid":"abcd","summary":{"tripStartTimestamp":1485263310528,"tripEndTimestamp":0,"status":10,"totalGPSDistanceMetres":0,"avgGPSSpeed":0,"maxGPSSpeed":0,"avgInstMileage":0,"totalHaltTimeSeconds":0,"totalIdlingTimeSeconds":0,"totalRunningTimeMi

hadoop - 带有 emrfs 的 hive

我正在使用sqoop将表从AmazonRDS导入到Hive。该进程正在运行,数据存储在配置单元默认的hdfs目录中:/user/hive/warehouse。我需要将存储位置从hdfs更改为emrfss3。据我了解,我需要将属性hive.metastore.warehouse.dir的值(在主节点上的hive-site.xml中)更改为s3//bucket/warehouse-location。看来我没有修改文件hive-site.xml的权限。我正在寻找一些关于如何最好地做到这一点的建议。苏堤 最佳答案 您需要sudo权限才能修改

hadoop - 用户 ALTER TABLE ... CONCATENATE 与 Hive 中的部分匹配分区

我想在Hive中使用ALTERTABLE...CONCATENATE功能,但似乎我必须提供准确的分区名称。例如,我有一个包含两个分区列、日期和组的表。我希望能够做这样的事情:altertablemytablepartition(insert_date='2017-04-11',group='%')CONCATENATE;但是我找不到这样做的方法。 最佳答案 Concatenate不支持这个。 关于hadoop-用户ALTERTABLE...CONCATENATE与Hive中的部分匹配分区

hadoop - Hive 更改外部表和更新架构

我正在寻找一个命令来为我的由Avro架构支持的Hive外部表添加列和更新架构。这是我到目前为止尝试过的方法。我有一个Hive外部表,其中包含使用此命令创建的Avro支持的架构-CREATEEXTERNALTABLE`person_hourly`('personid'stringCOMMENT'','name'stringCOMMENT'')PARTITIONEDBY('partitiontime'string)ROWFORMATSERDE'org.apache.hadoop.hive.serde2.avro.AvroSerDe'STOREDASINPUTFORMAT'org.apach

hadoop - 如何在 Hive 中将 array<date> 转换为 array<string>

我想将数组转换为数组字符串,这样["2016-06-02","2016-06-02"]变成2016-06-02|2016-06-02 最佳答案 使用concat_ws(stringdelimiter,array)连接数组的函数:selectconcat_ws(',',collect_set(date))fromtable;如果日期字段不是字符串,则将其转换为字符串:concat_ws(',',collect_set(cast(dateasstring))) 关于hadoop-如何在Hiv

hadoop - 由于 UTC 时间, hive 中的日期转换问题

我有时间2017-05-04T23:25:23.234Z我想使用HIVE获取2017-05-0423:25:23.234。如何实现这一目标?实际数据-2017-05-04T23:25:23.234Z预期-2017-05-0423:25:23.234实际数据-2016-05-04T02:29:23.231234Z预期-2016-05-0402:29:23.231234请帮帮我 最佳答案 selecttranslate('2017-05-04T23:25:23.234Z','TZ','')2017-05-0423:25:23.234

Apache hive 服务器 2 配置

我正在尝试配置apachehiveserver2我的配置文件在hive-site.xmlhive.server2.thrift.min.worker.threads5Minimumnumberofworkerthreadshive.server2.thrift.max.worker.threads500Maximumnumberofworkerthreadshive.server2.thrift.port10000TCPportnumbertolistenonhiver.server2.thrift.bind.host10.89.20.22TCPinterfacetobindtohiv

sql - 如何在 Hive 中删除 External_Table 以及元数据和数据

我的数据库中有很多表,其中一些是External_Tables,每次我删除External_Table时,我需要找到External_Table的位置,我需要-rm-r数据。所以,有没有hive中的任何方式,同时删除包含元数据和数据的External_Table,如果我们删除managed_table,数据和元数据都将被删除。 最佳答案 在删除之前将外部表转换为托管表altertablemytablesettblproperties('EXTERNAL'='FALSE'); 关于sql-