如何确定 hdfs(Azure blob 存储)上文件的文件编码?
How to determine file-encoding of file on hdfs (Azure blob storage)?
我在混合文件编码的 hdfs 上有一堆 100GB 的文件(不幸的是在 Azure blob 存储中)。如何确定每个文件的文件编码?一些 dfs 命令行命令将是理想的。谢谢。
你可以试试https://azure.microsoft.com/en-us/documentation/articles/xplat-cli-install/
命令 azure storage blob list
和 azure storage blob show
将 return 所有可用的 blob 属性,包括 contentType、contentLength、元数据。
如果此信息不包含您想要的内容 - 文件编码,我认为您需要 define/set 您自己的 metadata
,例如 file-encoding
每个文件。然后您可以通过 CLI 工具取回它。
我最终通过将 blob 存储中的每个文件的开头传送到本地缓冲区,然后应用 file
unix 实用程序,得到了我需要的结果。以下是针对单个文件的命令:
hdfs dfs -cat wasb://container@account.blob.core.windows.net/path/to/file | head -n 10 > buffer; file -i buffer
这会让你得到类似的东西:
buffer: text/plain; charset=us-ascii
我在混合文件编码的 hdfs 上有一堆 100GB 的文件(不幸的是在 Azure blob 存储中)。如何确定每个文件的文件编码?一些 dfs 命令行命令将是理想的。谢谢。
你可以试试https://azure.microsoft.com/en-us/documentation/articles/xplat-cli-install/
命令 azure storage blob list
和 azure storage blob show
将 return 所有可用的 blob 属性,包括 contentType、contentLength、元数据。
如果此信息不包含您想要的内容 - 文件编码,我认为您需要 define/set 您自己的 metadata
,例如 file-encoding
每个文件。然后您可以通过 CLI 工具取回它。
我最终通过将 blob 存储中的每个文件的开头传送到本地缓冲区,然后应用 file
unix 实用程序,得到了我需要的结果。以下是针对单个文件的命令:
hdfs dfs -cat wasb://container@account.blob.core.windows.net/path/to/file | head -n 10 > buffer; file -i buffer
这会让你得到类似的东西:
buffer: text/plain; charset=us-ascii