开发区域

高级软件开发与MATLAB

在湖里快速地泡一下

随着暑假的结束,学校重新开始上课,我希望读者们能享受这美好的天气和户外活动。

Tenaya湖

云——检查!湖-检查!知道我在哪里拍的这张照片吗?

我在美国中西部生活了十多年,那里是地球上近五分之一淡水的家园。在美丽的密歇根州,人们很容易把湖泊视为理所当然的事情。与美丽的旧金山湾区相比,这似乎是很久以前的事了。今年3月,加州宣布7年多的干旱结束。从紧缩措施中幸存下来,目睹了干旱的未来,让我对我们美丽的星球和它有限的资源产生了新的尊重。

这篇文章中的湖泊也是一个非常美丽的地方。的Azure™数据湖™存储使开发人员、数据科学家、分析人员能够存储和分析任何形状、大小、速度等数据。这种托管服务允许工程师和领域专家专注于数学、算法和处理,同时将基础设施的实际维护和操作委托给专家。

MATLAB开发人员可以从他们的桌面MATLAB环境(在终端用户)以及我们的编译生产平行计算产品(下载188bet金宝搏service - to - service模式)。任何这些形式都需要以JSON文件的形式提供配置。

从我们的视角来看,这些能力更加重要参考体系结构为蔚蓝的云。github.com上有一个用于Azure数据湖存储的MATLAB接口

这篇文章的其余部分将假设你已经配置了Azure数据湖存储服务。关于的一组基本指令如何设置服务可以在我们的文档中找到

该接口由封装底层SDK的MATLAB类组成。这为我们的开发人员提供了最大的灵活性,因为底层构件可以重建指向底层SDK的更新版本。此外,构建在MATLAB单元测试框架上的单元测试确保了功能可以与SDK的新版本一起工作

例如,对于交互式(最终用户)使用,创建一个名为azuredatalakestore.json

{"AccountFQDN" = "mydatalakename.azuredatalakestore.net", "NativeAppId" = "1d184e4a-62c0-4244-8b68-4cffe757131c"}

启动运行。m文件将使工具可用于MATLAB。

添加/home/username/mydir/Azure-Data-Lake-Storage/Software/MATLAB/app/functions添加/home/username/mydir/Azure-Data-Lake-Storage/Software/MATLAB/app/system添加添加:/home/username/mydir/ azure- data - lake - storage /Software/MATLAB/config

设置

一旦配置完成,用户就可以通过MATLAB客户端连接到数据湖。

dlClient = azure.datalake.store.ADLStoreClient;dlClient.initialize ();

清单存储文件

Data Lake使用Unix风格的前斜杠路径分隔符。'/'和名称区分大小写。不使用驱动器号,根目录由前导的正斜杠表示。

dirTable = dlClient.enumerateDirectory (' / '

默认情况下,列表中的所有元数据都返回为36个字符字符串。这些对编程使用来说很方便,但可读性不是很好。通过使用一个简单的配置,可以指示工具返回人类可读的内容。

代表= azure.datalake.store.UserGroupRepresentation.UPN;dirTable = dlClient.enumerateDirectory (' / '“UserGroupRepresentation”代表)

清单的结果显示,很容易处理MATLAB表。

dirTable = 4 * 13表名FullName长度组用户LastAccessTime LastModified类型Blocksize ReplicationFactor许可AclBit ExpiryTime _________________ __________________ ______ ____________________ ____________________ ______________________ ______________________ ___________ ___________ _________________ __________ ______ __________'MyTestDirectory' '/MyTestDirectory' [0] 'myemail@mycompany.com' 'MATLAB' [10- jani -2018 16:17:46] [10- jani -2018 16:17:46] [DIRECTORY] [0] [0] '770' [0] [NaT] 'md ' ' / README。md' [1707] 'myemail@mycompany.com' 'myemail@mycompany.com' [21- 12 -2017 14:50:14] [21- 12 -2017 14:50:14] [FILE] [268435456] [1] '770' [0] [NaT] 'md ' ' / RELEASENOTES。md' [651] 'myemail@mycompany.com' 'myemail@mycompany.com' [21- 12 -2017 14:50:08] [21- 12 -2017 14:50:08] [FILE] [268435456] [1] '770' [0] [NaT] 'Readme.txt' /Readme.txt' [2962] myemail@mycompany.com' myemail@mycompany.com' [08-12 -2017 18:16:02] [FILE] [268435456] [1] '770' [1] [NaT]

创建,检索,更新,删除(CRUD)

在服务上创建目录/文件夹是通过客户端完成的。

dlClient.createDirectory (“myDirName”

也可以使用Unix风格的八进制权限创建具有特定访问权限的目录:

dlClient.createDirectory (“myMatFiles”“744”

上传内容到数据湖存储应该很简单。第一个参数指定在数据湖上可见的文件名称。

dlClient.upload (“myadlfilename.csv”“mylocalfilename.csv”);

同样,从数据湖下载内容也同样简单。

dlClient.download (“myadlfilename.csv”“mylocalfilename.csv”);

删除内容使用文件的完整路径。也可以在一个操作中删除整个目录树。

tf = dlClient.delete (“/我的/道路/ / file1.mat”);tf = dlClient.deleteRecursive (' / myMatFiles ');

该工具还提供了其他特性,比如直接从服务中保存/检索变量,以及连接到可附加流。所有这些都在文档

最后,MATLAB中基于客户机的访问扩展了MATLAB的能力,可以连接到几乎无限数量的存储。由MATLAB及其工具箱提供的易于使用的算法满足了云存储和基础设施的强大功能,这些基础设施经过了优化,可以处理最需要的数据存储和分析场景。这些接口充当了解决特定于应用程序的大规模问题的构建块。这真的是一个超越时间的故事……

湖上女郎




MATLAB®R2019a发布

|

评论

请点击留下评论在这里登录到你的MathWorks帐户或创建一个新的。