hive - Apache Hive 分区和分桶结构
问题描述
在 Apache Hive 中,目录结构在对巨大的数据集进行分区然后分桶后如何看待?
对于 Ex - 我有一个国家/地区的客户数据集,数据按州分区,然后按城市分桶。我们如何知道一个城市存储桶中将存在多少个文件?
解决方案
一个分区就是一个目录,每个分区对应一个分区列的具体值。
在表或分区/目录中,存储桶被组织为文件。桶的数量是在创建表时预定义的CLUSTERED BY (sth) INTO K BUCKETS
。每个单独的存储桶将有一个文件。Hive根据bucketed列计算的hash值将记录分配给bucket,并以bucket的数量K取一个mod。
推荐阅读
- jquery - Selectize.js 创建:验证 CREATE 输入
- ios - 如何在swift中解析数组的json数组
- c - 有没有办法在 C 中设置时间限制?
- php - JSON 中第 2 位的意外标记 N
- php - laravel 中 @if 和 @can 有什么区别
- api - Delphi XE7 Indy idHTTP 客户端发布错误授权
- arrays - Matlab索引超出范围
- php - 当继承的接口用于类型提示时,为什么 PHP 会发出兼容性错误?
- python - 如何将测试用例参数传递给一个函数使用的 pytest 夹具?
- android - cordova build android - 构建失败并出现异常