导出元数据清单
使用元数据清单导出功能,您可以将某个Bucket下的OSS-HDFS服务的元数据清单导出到某个特定路径,格式为JSON文件,方便您对元数据进行统计分析。
前提条件
使用最新版本JindoSDK。下载地址,请参见GitHub。
配置OSS-HDFS服务下Bucket的访问密钥。
具体操作,请参见通过Jindo CLI命令访问OSS/OSS-HDFS。
操作步骤
导出元数据清单。
登录OSS管理控制台。
单击Bucket 列表,然后单击目标Bucket名称。
在左侧导航栏,选择。
在导出元数据清单区域,单击导出。
导出过程大约需要数分钟乃至数小时,具体用时取决于元数据量的大小。输出的清单结果文件默认保存在
oss://<hdfs_bucket>.<dls_endpoint>/.sysinfo/inventory/路径下,暂不支持自定义输出路径。重要.sysinfo/inventory/目录不支持删除。该目录下的结果文件支持访问和删除。
下载文件。
执行以下命令下载元数据清单结果文件。
jindo fs -get oss://<hdfs_bucket>.<dls_endpoint>/.sysinfo/inventory/1666584461201.2ce40fba-5704-45c4-8720-d92a891d**** /tmp/通过vi或vim命令打开元数据清单结果文件。
元数据清单结果文件示例如下:
{"id":6289437267661375236,"path":"/user/spark/.sparkStaging/application_1767273535967_0001/__spark_libs__5660687526220176997.zip","type":"file","size":315253339,"user":"spark","group":"supergroup","ctime":1767273541200,"atime":1767273541321,"mtime":1767273541897,"storagePolicy":"UNSPECIFIED","permission":420,"state":0,"storageState":"STD"}元数据清单结果文件各字段的含义说明如下:
字段
含义
id
文件或目录ID。
path
文件或目录路径。
type
元数据类型。
directory:表示目录。
file:表示文件。
size
数据大小,单位为字节。
当元数据类型为file时,size字段的值为文件大小。
当元数据类型为directory,size字段的值为0。
user
文件或目录所属的owner。
group
文件或目录所属的用户组。
ctime
文件或目录的创建时间,格式为时间戳。
atime
文件或目录的访问时间,格式为时间戳。
mtime
文件或目录的修改时间,格式为时间戳。
permission
文件或者目录的权限。
storagePolicy
存储策略。
UNSPECIFIED(默认值,等同于标准)。CLOUD_STD(标准)。CLOUD_IA(低频)。CLOUD_AR(归档)。CLOUD_COLD_AR(冷归档)。CLOUD_DEEP_COLD_AR(深度冷归档)。CLOUD_AR_RESTORED(归档已解冻)。CLOUD_COLD_AR_RESTORED(冷归档已解冻)。CLOUD_DEEP_COLD_AR_RESTORED(深度冷归档已解冻)。
state
文件/目录实际分层状态。
预留字段,当前版本暂未启用
storageState
当前分层的进度。
预留字段,当前版本暂未启用
(可选)删除元数据清单结果文件。
OSS-HDFS元数据清单结果文件会占用存储空间,进而产生存储费用。如果您确认不再需要保留该元数据清单结果文件,建议通过Hadoop命令的方式及时删除。
重要删除元数据清单结果文件时,元数据清单结果文件所在路径必须与步骤1输出结果中Data Location保持一致,避免误删除.dlsdata和.sysinfo路径下的系统数据。
执行Jindo CLI命令删除元数据清单结果文件的示例如下:
jindo fs -rm -skipTrash oss://<hdfs_bucket>.<dls_endpoint>/.sysinfo/inventory/1666584461201.2ce40fba-5704-45c4-8720-d92a891d****