草庐IT

hadoop - Hive 查询生成管理不善的登台目录

我们使用的是HDPhadoop发行版v2.3.2,我们正在处理Hive外部表,并且每天都会查询这些表。进程启动几天后,数据目录包含大量暂存目录,格式为:.hive-staging_hive_date-time_生成了很多暂存目录,每个暂存目录对应一个在Hive表上运行的查询。我该怎么做才能避免这些暂存目录堆积到我的数据目录中? 最佳答案 我在https://stackoverflow.com/a/35583367/14186发布的答案可以在这里帮助你。您可以配置Hive以将这些暂存目录放在其他地方(通常将它们作为最终目标目录的子目录

php - php连接hive服务器的方法

我在管理传感器数据的Ubuntu14.04上安装了Hadoop2.7和Hive1.2.1。我已经将数据传感器存储到Hive。我的项目是用它制作一个Web服务器和一个可以显示来自配置单元表的数据记录的Web应用程序。我的问题是如何连接数据库Hive和php?我发现ApacheThrift可以做到这一点。但我不明白(我是Hadoop的新手)有人可以给我教程或逐步解决我的问题 最佳答案 一种尝试方法是使用ODBC。如果您不知道,如何使用ODBC。通过以下方式了解更多信息:UsingPHPcanIuseaJDBCorODBCconnecti

hadoop - Hive 禁用历史日志和查询日志

我们在生产机器上使用hive,但它在/tmp//中生成了大量作业日志目录。我们想禁用此日志记录,因为我们不需要它,但找不到任何选项来禁用它。我们检查的一些答案要求我们修改hive-log4j.properties文件。但是/usr/lib/hive/conf中唯一可用的文件是hive-site.xml启动hive时,它​​会提供以下信息:Logginginitializedusingconfigurationinjar:file:/usr/lib/hive/lib/hive-common-0.10.0-cdh4.7.0.jar!/hive-log4j.propertiesHivehis

hadoop - HIVE 插入到动态分区表永远运行/挂起

假设我们有2个配置单元表,tableA和tableB。我正在分解表A,将它与其他几个表连接起来,然后插入到表B中。当tableB没有分区或使用静态分区完成插入时,插入工作正常。然而,当存在动态分区时,mapreduce作业甚至不会启动。它有点挂起。为了调试更多,我在初始化配置单元时设置了以下参数:-hiveconfhive.root.logger=DEBUG,console现在,我可以看到作业实际上并没有挂起。它不断打印日志,如:........16/02/1109:25:50[main]:INFOoptimizer.SortedDynPartitionOptimizer:Sorted

hadoop - 创建一个 ORC 文件而不是 Hive 表?

根据我在谷歌上搜索的结果,我发现了使用Hive创建ORC表的方法,但我想要一个ORC文件,我可以在该文件上运行我的自定义map-reduce作业。另请告知,Hive在仓库目录下为我的ORC表创建的文件是ORC的表文件,而不是我可以使用的实际ORC文件?喜欢:/user/hive/warehouse/tbl_orc/000000_0 最佳答案 [讨论总结]Hive表映射到HDFS目录(或列表目录,如果表是分区的)该目录中的所有文件都使用相同的SerDe(ORC、Parquet、AVRO、文本等)并具有相同的列集;总之,它们包含该表的所

hadoop - 如何将 Postgres "Text"数据类型加载到 HIVE 中

我有一个包含文本列(详细信息)的postgress表。我已在Hive中将detail声明为STRING。当我尝试从SQOOP或SPark导入它时,它已成功导入。但是,我缺少详细信息列中可用的大量数据,并且在配置单元表中创建了许多空行。谁能帮我解决这个问题?例如:详细列有以下数据line1sdhfdsfdsfdsdfdsfdsfsline2jbdfvdfffdkjbfdjbdsjbfdsdsfsdfbdsfdsdfdsdsfdsfdsdsfdsdskjnfdssdjfbdsfdsdsfds只有“line1sdhfdsfdsfdsdfdsfdsfs”被导入到配置单元表中。我可以看到剩余行的

hadoop - 如何在 S3 上指定 Hive EXTERNAL TABLE 数据的文件大小

我可以在Hive中创建一个EXTERNALTABLE,其中数据以Gzip格式存储在S3存储桶中。但是,这些文件非常大(每个超过6GB)。能否配置Hive使EXTERNALTABLE中的文件具有特定大小,比如512MB? 最佳答案 这对我来说听起来很奇怪,默认情况下,我的外部表通常有大约300MB的文件大小。无论如何,最简单的调整方法是使用PARTITIONBY键(可能是基于时间戳的东西),这将强制文件变小,并且具有使数据更容易的附加优势查询。此外,您应该考虑使用像Parquet这样的可拆分格式,因为这样文件大小就不再重要了。

sorting - 如何在 Hive 中对文件进行重复数据删除并保持原始排序顺序?

我的数据已经按last_column降序和third_column降序排序。我想在保持原始排序顺序的同时,对基于last_column的数据集进行去重。所以对于每个last_column,我想要最终输出中的第一行。我需要使用Hive来实现这一点。我的数据是:10009,12/3/1959,Rodney,Purtle,M,8/28/1986,d00710010,5/1/1954,Ahishek,Kumar,M,12/1/1986,d00710011,1/21/1955,Abhilash,Whatever,M,9/12/1989,d00710016,5/1/1954,Ross,Hupchu

datetime - Hive 时间戳 ISO 到 UTC 的转换

我有带有ISO8601时间戳的字符串,例如2016-03-07T10:02:37.820+01:00,我想将它们转换为UTC时间。内置的to_utc_timestamp(AFAIK)只采用时区名称(例如PST、CET)而不是偏移量。至少我尝试过但失败了。在Hive中是否有一种优雅的方式来实现这一点? 最佳答案 一种方法是,您可以编写HiveUDF进行时间格式转换。另一种方法是,使用unix_timestamp将ISO时间戳转换为秒,然后使用to_utc_timestampTO_UTC_TIMESTAMP(UNIX_TIMESTAMP

maven - 当我尝试安装 Hive 2.0 时,我得到了多个 SLF4J 绑定(bind),并且 Hive Metastore 数据库未初始化

英语不是我的母语;请原谅打字错误。我尝试按照此tutorial在linux环境中使用hadoop安装hive.Hadoop安装正确,但是当我尝试安装hive时,我的shell中得到以下输出:SLF4J:ClasspathcontainsmultipleSLF4Jbindings.SLF4J:Foundbindingin[jar:file:/home/phd2014/hive/lib/hive-jdbc-2.0.0-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J:Foundbindingin[jar:file:/