你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

AzureDLFileSystem 类

像访问文件系统一样访问 Azure DataLake 存储

继承
builtins.object
AzureDLFileSystem

构造函数

AzureDLFileSystem(token=None, per_call_timeout_seconds=60, **kwargs)

参数

名称 说明
store_name
必需
str(<xref:””)

要连接到的存储名称。

token
<xref:<xref:azure.datalake.store.core.credentials object>>

设置新连接时,这包含授权凭据 (请参阅 lib.auth () ) 。

默认值: None
url_suffix
必需

要向其发送 REST 请求的域。 终结点 URL 是使用此和store_name构造的。 如果“无”,请使用默认值。

api_version
必需
str(<xref:2018-09-01>)

要以请求为目标的 API 版本。 更改此值将更改请求的行为,并可能导致意外行为或中断性变更。 应谨慎更改此值。

per_call_timeout_seconds
float(<xref:60>)

这是每个请求库调用的超时。

默认值: 60
kwargs
必需
<xref:<xref:azure.datalake.store.core.optional key/values>>

请参阅 lib.auth();完整列表:tenant_id、用户名、密码、client_id、client_secret、资源

方法

access

是否存在此类文件/目录?

cat

返回文件的内容

chmod

更改路径的访问模式

请注意,这不是递归的。

chown

更改所有者和/或拥有组

请注意,这不是递归的。

concat

将文件列表串联到一个新文件中

connect

建立连接对象。

cp

未实现。 在 ADL 上的位置之间复制文件

current

返回最近创建的 AzureDLFileSystem

df

路径的资源摘要

du

路径处密钥中的字节数

exists

是否存在此类文件/目录?

get

将数据从路径中的文件流式传输到本地文件名

get_acl_status

获取指定文件或目录) 项访问控制列表 (ACL。

glob

查找 (不是通过 glob 匹配) 目录的文件。

head

返回文件的第一个字节

info

路径的文件信息

invalidate_cache

从对象文件缓存中删除条目

listdir

列出使用路径指定的目录下的所有元素

ls

列出使用路径指定的目录下的所有元素

merge

将文件列表串联到一个新文件中

mkdir

创建新目录

modify_acl_entries

修改现有访问控制列表 (ACL) 文件或文件夹上的条目。 如果该条目不存在,则会添加它,否则会根据传入的规范对其进行更新。 此过程不会删除任何条目, (与set_acl) 不同。

注意:默认情况下,这不是递归的,仅适用于指定的文件或文件夹。

mv

在 ADL 上的位置之间移动文件

open

打开文件进行读取或写入

put

将数据从本地文件名流式传输到路径处的文件

read_block

从 ADL 文件中读取字节块

offset 文件开始,读取 length 字节。 如果 delimiter 设置了 ,则确保读取在遵循位置和 offset “offset”的分隔符边界处开始和停止

  • length. If offset' 为零,然后我们从零开始。 返回的 bytestring 将包含结束分隔符字符串。

如果 offset+length 超出 eof,则 读取到 eof。

remove

删除文件或目录

remove_acl

从文件或文件夹中删除整个非默认的 ACL,包括未命名的条目。 无法以这种方式删除默认条目,请使用remove_default_acl。

注意:这不是递归的,仅适用于指定的文件或文件夹。

remove_acl_entries

删除文件或文件夹上的现有、命名访问控制列表 (ACL) 条目。 如果该条目尚不存在,则忽略它。 无法以这种方式删除默认条目,请使用remove_default_acl。 无法以这种方式删除未命名的条目,请使用remove_acl。

注意:默认情况下,这不是递归的,仅适用于指定的文件或文件夹。

remove_default_acl

从文件夹中删除整个默认 ACL。 文件中不存在默认条目,如果指定了文件,此操作不执行任何操作。

注意:这不是递归的,仅适用于指定的文件夹。

rename

在 ADL 上的位置之间移动文件

rm

删除文件或目录

rmdir

删除空目录

set_acl

为文件或文件夹设置访问控制列表 (ACL) 。

注意:默认情况下,这不是递归的,仅适用于指定的文件或文件夹。

set_expiry

设置或删除指定文件的过期时间。 此操作只能对文件执行。

注意:不支持文件夹。

stat

路径的文件信息

tail

返回文件的最后字节数

touch

创建空文件

unlink

删除文件或目录

walk

获取给定路径下的所有文件

access

是否存在此类文件/目录?

access(path, invalidate_cache=True)

参数

名称 说明
path
必需

查询路径

invalidate_cache

是否使缓存失效

默认值: True

返回

类型 说明
True,
<xref:false> <xref:depending> <xref:on> <xref:whether> <xref:the> <xref:path> <xref:exists.>

cat

返回文件的内容

cat(path)

参数

名称 说明
path
必需

查询路径

返回

类型 说明
<xref:azure.datalake.store.core.Contents> <xref:of> <xref:azure.datalake.store.core.file>

chmod

更改路径的访问模式

请注意,这不是递归的。

chmod(path, mod)

参数

名称 说明
path
必需
str

要更改的位置

mod
必需
str

访问的八进制表示形式,例如公共读/写的“0777”。 请参阅 文档

chown

更改所有者和/或拥有组

请注意,这不是递归的。

chown(path, owner=None, group=None)

参数

名称 说明
path
必需
str

要更改的位置

owner
str

拥有实体的 UUID

默认值: None
group
str

组的 UUID

默认值: None

concat

将文件列表串联到一个新文件中

concat(outfile, filelist, delete_source=False)

参数

名称 说明
outfile
必需
<xref:azure.datalake.store.core.path>

将连接到 的文件。 如果已存在,则会追加额外的部分。

filelist
必需
list of <xref:azure.datalake.store.core.paths>

要连接的现有 adl 文件(按顺序排列)

delete_source

如果为 True,则假定要连接的路径单独存在于目录中,并在完成后删除整个目录。

默认值: False

返回

类型 说明

connect

建立连接对象。

connect()

cp

未实现。 在 ADL 上的位置之间复制文件

cp(path1, path2)

参数

名称 说明
path1
必需
path2
必需

current

返回最近创建的 AzureDLFileSystem

current()

df

路径的资源摘要

df(path)

参数

名称 说明
path
必需
str

查询路径

du

路径处密钥中的字节数

du(path, total=False, deep=False, invalidate_cache=True)

参数

名称 说明
path
必需

查询路径

total

返回列表中的总和

默认值: False
deep

以递归方式枚举或仅使用当前目录下的文件

默认值: False
invalidate_cache

是否使缓存失效

默认值: True

返回

类型 说明
<xref:size> <xref:pairs>,
<xref:total> <xref:size.>

名称的听写列表

exists

是否存在此类文件/目录?

exists(path, invalidate_cache=True)

参数

名称 说明
path
必需

查询路径

invalidate_cache

是否使缓存失效

默认值: True

返回

类型 说明
True,
<xref:false> <xref:depending> <xref:on> <xref:whether> <xref:the> <xref:path> <xref:exists.>

get

将数据从路径中的文件流式传输到本地文件名

get(path, filename)

参数

名称 说明
path
必需

要读取的 ADL 路径

filename
必需
str 或 <xref:azure.datalake.store.core.Path>

要写入的本地文件路径

返回

类型 说明

get_acl_status

获取指定文件或目录) 项访问控制列表 (ACL。

get_acl_status(path)

参数

名称 说明
path
必需
str

获取 ACL 的位置。

glob

查找 (不是通过 glob 匹配) 目录的文件。

glob(path, details=False, invalidate_cache=True)

参数

名称 说明
path
必需

查询路径

details

是否包括文件详细信息

默认值: False
invalidate_cache

是否使缓存失效

默认值: True

返回

类型 说明
List <xref:of> <xref:azure.datalake.store.core.files>

head

返回文件的第一个字节

head(path, size=1024)

参数

名称 说明
path
必需

查询路径

size
int

要返回的字节数

默认值: 1024

返回

类型 说明
<xref:First>(<xref:size>) bytes <xref:of> <xref:azure.datalake.store.core.file>

info

路径的文件信息

info(path, invalidate_cache=True, expected_error_code=None)

参数

名称 说明
path
必需

查询路径

invalidate_cache

是否使缓存失效

默认值: True
expected_error_code
int

(可选)指示特定的预期错误代码(如果有)。

默认值: None

返回

类型 说明
File <xref:information>

invalidate_cache

从对象文件缓存中删除条目

invalidate_cache(path=None)

参数

名称 说明
path

从对象文件缓存中删除路径

默认值: None

返回

类型 说明

listdir

列出使用路径指定的目录下的所有元素

listdir(path='', detail=False, invalidate_cache=True)

参数

名称 说明
path
必需

查询路径

detail

详细信息与否。

默认值: False
invalidate_cache

是否使缓存失效

默认值: True

返回

类型 说明
List <xref:of> <xref:elements> <xref:under> <xref:directory> <xref:specified> <xref:with> <xref:path>

ls

列出使用路径指定的目录下的所有元素

ls(path='', detail=False, invalidate_cache=True)

参数

名称 说明
path
必需

查询路径

detail

详细信息与否。

默认值: False
invalidate_cache

是否使缓存失效

默认值: True

返回

类型 说明
List <xref:of> <xref:elements> <xref:under> <xref:directory> <xref:specified> <xref:with> <xref:path>

merge

将文件列表串联到一个新文件中

merge(outfile, filelist, delete_source=False)

参数

名称 说明
outfile
必需
<xref:azure.datalake.store.core.path>

将连接到 的文件。 如果已存在,则会追加额外的部分。

filelist
必需
list of <xref:azure.datalake.store.core.paths>

要连接的现有 adl 文件(按顺序排列)

delete_source

如果为 True,则假定要连接的路径单独存在于目录中,并在完成后删除整个目录。

默认值: False

返回

类型 说明

mkdir

创建新目录

mkdir(path)

参数

名称 说明
path
必需

用于创建目录的路径

返回

类型 说明

modify_acl_entries

修改现有访问控制列表 (ACL) 文件或文件夹上的条目。 如果该条目不存在,则会添加它,否则会根据传入的规范对其进行更新。 此过程不会删除任何条目, (与set_acl) 不同。

注意:默认情况下,这不是递归的,仅适用于指定的文件或文件夹。

modify_acl_entries(path, acl_spec, recursive=False, number_of_sub_process=None)

参数

名称 说明
path
必需
str

要设置 ACL 条目的位置。

acl_spec
必需
str

修改路径中的 ACL 规范,格式为“[default:]user|group|other:[entity id or UPN]:r|-w|-x|-x|,[default:]user|group|other:[entity id or UPN]:r|-w|-x|-,...”

recursive

指定是否以递归方式修改 ACL

默认值: False
number_of_sub_process
默认值: None

mv

在 ADL 上的位置之间移动文件

mv(path1, path2)

参数

名称 说明
path1
必需

源路径

path2
必需

目标路径

返回

类型 说明

open

打开文件进行读取或写入

open(path, mode='rb', blocksize=33554432, delimiter=None)

参数

名称 说明
path
必需
<xref:azure.datalake.store.core.string>

ADL 上的文件路径

mode
<xref:azure.datalake.store.core.string>

“rb”、“ab”或“wb”之一

默认值: rb
blocksize
int

读取数据节点块的大小

默认值: 33554432
delimiter
<xref:byte>(<xref:s>) 或 None

用于编写以分隔符结尾的块

默认值: None

put

将数据从本地文件名流式传输到路径处的文件

put(filename, path, delimiter=None)

参数

名称 说明
filename
必需
str 或 <xref:azure.datalake.store.core.Path>

要从中读取的本地文件路径

path
必需

要写入的 ADL 路径

delimiter

分隔符结束块的可选 delimeter

默认值: None

返回

类型 说明

read_block

从 ADL 文件中读取字节块

offset 文件开始,读取 length 字节。 如果 delimiter 设置了 ,则确保读取在遵循位置和 offset “offset”的分隔符边界处开始和停止

  • length. If offset' 为零,然后我们从零开始。 返回的 bytestring 将包含结束分隔符字符串。

如果 offset+length 超出 eof,则 读取到 eof。

read_block(fn, offset, length, delimiter=None)

参数

名称 说明
fn
必需
<xref:azure.datalake.store.core.string>

ADL 上的文件名路径

offset
必需
int

开始读取的字节偏移量

length
必需
int

要读取的字节数

delimiter
bytes(<xref:optional>)

确保读取在分隔符字节数处开始和停止

默认值: None

示例


>>> adl.read_block('data/file.csv', 0, 13)  
b'Alice, 100\nBo'
>>> adl.read_block('data/file.csv', 0, 13, delimiter=b'\n')  
b'Alice, 100\nBob, 200\n'

使用 length=None 读取到文件末尾。

adl.read_block ('data/file.csv', 0, None, delimiter=b'n') # doctest: +SKIP b'Alice, 100nBob, 200nCharlie, 300'

另请参阅

<xref:distributed.utils.read_block>

remove

删除文件或目录

remove(path, recursive=False)

参数

名称 说明
path
必需

要删除的位置。

recursive

是否还要删除以下所有条目,即 由 walk () 返回的条目。

默认值: False

返回

类型 说明

remove_acl

从文件或文件夹中删除整个非默认的 ACL,包括未命名的条目。 无法以这种方式删除默认条目,请使用remove_default_acl。

注意:这不是递归的,仅适用于指定的文件或文件夹。

remove_acl(path)

参数

名称 说明
path
必需
str

要删除 ACL 的位置。

remove_acl_entries

删除文件或文件夹上的现有、命名访问控制列表 (ACL) 条目。 如果该条目尚不存在,则忽略它。 无法以这种方式删除默认条目,请使用remove_default_acl。 无法以这种方式删除未命名的条目,请使用remove_acl。

注意:默认情况下,这不是递归的,仅适用于指定的文件或文件夹。

remove_acl_entries(path, acl_spec, recursive=False, number_of_sub_process=None)

参数

名称 说明
path
必需
str

删除 ACL 条目的位置。

acl_spec
必需
str

要从路径的 ACL 中删除的 ACL 规范 (请注意,权限部分缺少) “[default:]user|group|other:[entity id or UPN],[default:]user|group|other:[entity id or UPN],...”

recursive

指定是否以递归方式删除 ACL

默认值: False
number_of_sub_process
默认值: None

remove_default_acl

从文件夹中删除整个默认 ACL。 文件中不存在默认条目,如果指定了文件,此操作不执行任何操作。

注意:这不是递归的,仅适用于指定的文件夹。

remove_default_acl(path)

参数

名称 说明
path
必需
str

要设置 ACL 的位置。

rename

在 ADL 上的位置之间移动文件

rename(path1, path2)

参数

名称 说明
path1
必需

源路径

path2
必需

目标路径

返回

类型 说明

rm

删除文件或目录

rm(path, recursive=False)

参数

名称 说明
path
必需

要删除的位置。

recursive

是否还要删除以下所有条目,即 由 walk () 返回的条目。

默认值: False

返回

类型 说明

rmdir

删除空目录

rmdir(path)

参数

名称 说明
path
必需

要删除的目录路径

返回

类型 说明

set_acl

为文件或文件夹设置访问控制列表 (ACL) 。

注意:默认情况下,这不是递归的,仅适用于指定的文件或文件夹。

set_acl(path, acl_spec, recursive=False, number_of_sub_process=None)

参数

名称 说明
path
必需
str

要设置 ACL 的位置。

acl_spec
必需
str

要在路径上设置的 ACL 规范,格式为“[default:]user|group|other:[entity id or UPN]:r|-w|-x|-,[default:]user|group|other:[entity id or UPN]:r|-w|-x|-,...”

recursive

指定是否以递归方式设置 ACL

默认值: False
number_of_sub_process
默认值: None

set_expiry

设置或删除指定文件的过期时间。 此操作只能对文件执行。

注意:不支持文件夹。

set_expiry(path, expiry_option, expire_time=None)

参数

名称 说明
path
必需
str

用于设置或删除过期时间的文件路径

expire_time
int

文件过期的时间,对应于设置的expiry_option

默认值: None
expiry_option
必需
str

指示要用于文件的过期类型:

  1. NeverExpire:忽略 ExpireTime。

  2. RelativeToNow:ExpireTime 是一个整数(以毫秒为单位),表示相对于文件过期时间的到期日期。

  3. RelativeToCreationDate:ExpireTime 是一个整数,以毫秒为单位,表示相对于文件创建的到期日期。

  4. 绝对值:ExpireTime 是一个整数(以毫秒为单位),作为相对于 1/1/1970 00:00:00 的 Unix 时间戳。

stat

路径的文件信息

stat(path, invalidate_cache=True, expected_error_code=None)

参数

名称 说明
path
必需

查询路径

invalidate_cache

是否使缓存失效

默认值: True
expected_error_code
int

(可选)指示特定的预期错误代码(如果有)。

默认值: None

返回

类型 说明
File <xref:information>

tail

返回文件的最后字节数

tail(path, size=1024)

参数

名称 说明
path
必需

查询路径

size
int

要返回的字节数

默认值: 1024

返回

类型 说明
<xref:Last>(<xref:size>) bytes <xref:of> <xref:azure.datalake.store.core.file>

touch

创建空文件

touch(path)

参数

名称 说明
path
必需

要创建的文件的路径

返回

类型 说明

删除文件或目录

unlink(path, recursive=False)

参数

名称 说明
path
必需

要删除的位置。

recursive

是否还要删除以下所有条目,即 由 walk () 返回的条目。

默认值: False

返回

类型 说明

walk

获取给定路径下的所有文件

walk(path='', details=False, invalidate_cache=True)

参数

名称 说明
path
必需

查询路径

details

是否包括文件详细信息

默认值: False
invalidate_cache

是否使缓存失效

默认值: True

返回

类型 说明
List <xref:of> <xref:azure.datalake.store.core.files>