java - Hive 太慢了,如何对小文件进行分组?
问题描述
我需要在hadoop上保存来自kafka的流,并且我使用了hive。流式批处理每 5 分钟获取一次 kafka 的内容并将其保存在 hive 表上,每次保存时都会生成一个小文件(70KB),这会减慢读取速度。您可以将配置单元配置为每次写入时将文件压缩到 128MB 大小?还是我需要手动执行 HDFS 命令?
我尝试如下设置蜂巢,但问题没有解决:
SET hive.merge.mapfiles=true;
SET hive.merge.mapredfiles=true;
SET hive.merge.size.per.task=128000000;
SET hive.merge.smallfiles.avgsize=128000000;
解决方案
推荐阅读
- python - Refresh outlook inbox via python script
- python - 将文本转换为嵌套列表
- google-chrome - Unknown application "Identity API Scope Approval UI", is this standard for chrome?
- sql - How do I set input date variable to end of day to the minute?
- c++ - 没有已知的转化
- rest - Loopback 3:在仅 api 的项目上实施社交身份验证
- haskell - Haskell 中的素数
- typescript - 如何在 CodeBuild 操作之间传递 CodePipeline 中的工件
- c# - 使用 StreamReader 时,如何将每 4 行分配给一个变量?
- javascript - 传单标记:PNG 或 base64 图像?