文档

读远程数据

在MATLAB®您可以访问远程数据使用数据存储对象。您可以创建一个数据存储与数据存储在远程位置,比如云存储使用Amazon S3™(简单存储服务),Windows Azure®Blob存储和Hadoop®分布式文件系统(HDFS™)。使用数据存储来检查你的数据从您的桌面版本的MATLAB。在本地原型代码之后,您可以扩展到集群或云。扩大提高执行效率,因为它是更高效的运行大型的计算在同一位置的数据。

Amazon S3

MATLAB使您能够使用Amazon S3作为一个在线文件存储Amazon web服务提供的web服务。您可以使用数据存储在Amazon S3创建一个ImageDatastore,FileDatastore,或TabularTextDatastore。指定数据的位置时,您必须指定完整路径文件或文件夹使用一个国际化资源标识符(IRI)的形式

s3: / /bucketname/path_to_file

bucketname容器的名称和吗path_to_file文件或文件夹的路径。

Amazon S3通过web服务接口提供数据存储。您可以使用一个作为一个容器来存储在Amazon S3对象。看到介绍Amazon S3为更多的信息。

使用Amazon S3数据存储,请执行以下步骤:

  1. 注册一个Amazon Web Services (AWS)根帐户。看到亚马逊网络服务:帐户

  2. 使用AWS根帐户,创建一个我身份和访问管理用户。看到用户在AWS帐户创建一个我

  3. 生成一个访问密钥接收一个访问密钥ID访问密钥和秘密。看到为我用户管理访问键

  4. 设置环境变量使用setenv:

    • AWS_ACCESS_KEY_IDAWS_SECRET_ACCESS_KEY——并使使用Amazon S3服务进行身份验证。(你生成这副关键变量的访问在步骤3)。

    • AWS_REGION——选择你的桶的地理区域。这个变量覆盖默认的地区造成的形象,如果设置。

例如,创建一个ImageDatastore从数据存储、读取指定的图像,然后显示图像的屏幕。

setenv (“AWS_ACCESS_KEY_ID”、“YOUR_AWS_ACCESS_KEY_ID”);setenv (“AWS_SECRET_ACCESS_KEY”、“YOUR_AWS_SECRET_ACCESS_KEY”);setenv (“AWS_REGION”、“us-east-1”);ds = imageDatastore (s3: / / mw-s3-datastore-tests-us / image_datastore / jpegfiles’,……“IncludeSubfolders”,的确,“LabelSource”、“foldernames”);img = ds.readimage (1);imshow (img)

Windows AzureBlob存储

MATLAB允许您使用Windows Azure Blob存储(WABS)作为一个在线文件存储微软提供的web服务。您可以使用存储的数据创建一个Windows AzureImageDatastore,FileDatastore,或TabularTextDatastore。指定数据的位置时,您必须指定完整路径文件或文件夹使用一个国际化资源标识符(IRI)的形式

wasbs: / /container@account/path_to_file/file.ext

container@account容器的名称和吗path_to_file文件或文件夹的路径。

Windows Azure通过web服务接口提供数据存储。您可以使用一个作为一个容器在Windows Azure存储对象。看到介绍Windows Azure为更多的信息。

使用Windows Azure存储,遵循这些步骤:

  1. 注册一个微软Azure账户,明白了微软Azure帐户

  2. 设置您的认证细节通过设置以下两个环境变量的一个使用setenv:

    • MW_WASB_SAS_TOKEN——通过共享访问身份验证签名(SAS)

      获得一个SAS。详情,请参阅“得到一个blob的SAS容器”一节https://docs.microsoft.com/en-us/azure/vs-azure-tools-storage-explorer-blobs

      在MATLAB中,设置MW_WASB_SAS_TOKENSAS查询字符串。例如,

      setenv MW_WASB_SAS_TOKEN’吗?圣= 2017 - 04 - 11 - t09 % 3 a45 % 3 a00z&se = 2017 - 05 - 12 - t09 % 3 a45 % 3 a00z&sp = rl&sv = 2015 - 12 - 11 - sr = c&sig = E12eH4cRCLilp3Tw % 2 bardyyr8rrumw45wbxhwpmzsrce % 3 d '

      你必须将这个字符串设置为一个有效的SAS令牌产生的Azure存储web UI或探险家。

    • MW_WASB_SECRET_KEY——验证通过的一个帐户的两个密钥

      每个存储账户有两个密钥,允许行政特权访问。同样的访问可以给MATLAB,而无需创建一个SAS令牌通过设置MW_WASB_SECRET_KEY环境变量。例如:

      setenv MW_WASB_SECRET_KEY“1234567890 abcdef1234567890abcdef1234567890abcdef”

  3. 创建一个数据存储从Windows Azure存储Blob (WASB)位置

    生产文件的位置,从文件名file.ext和前缀的文件路径/ path_to_file和你的帐户名称wasbs: / / container@account /。完整的数据位置使用下面的语法:

    wasbs: / /container@account/path_to_file/file.ext

    container@account容器的名称和吗path_to_file文件或文件夹的路径。

    例如,如果你有一个文件airlinesmall.csv在一个文件夹/航空公司在一个测试存储账户wasbs: / / blobContainer@storageAccount.blob.core.windows.net/然后您可以创建一个数据存储的使用:

    位置= ' wasbs: / / blobContainer@storageAccount.blob.core.windows.net/airline/airlinesmall.csv';
    ds = tabularTextDatastore(位置、“TreatAsMissing”、“NA”,…SelectedVariableNames, {' ArrDelay '});

您可以使用Azure的计算数据存储万博1manbetx支持,包括直读,mapreduce数组和深度学习,高。例如,创建一个ImageDatastore从数据存储、读取指定的图像,然后显示图像的屏幕。

setenv (“MW_WASB_SAS_TOKEN”、“YOUR_WASB_SAS_TOKEN”);ds = imageDatastore (“wasbs: / / YourContainer@YourAccount.blob.core.windows.net/',…“IncludeSubfolders”,的确,“LabelSource”、“foldernames”);img = ds.readimage (1);imshow (img)

如果您正在使用并行计算工具箱™,你必须将你的客户环境变量复制到集群上工人通过设置EnvironmentVariablesparpool,批处理,createJob或集群中配置文件管理器。

有关更多信息,请参见https://docs.microsoft.com/en-us/azure/hdinsight/hdinsight-hadoop-use-blob-storage

HDFS

指定位置的数据

您还可以创建一个数据存储为文本文件的集合或序列文件驻留在Hadoop分布式文件系统(HDFS)使用数据存储函数。指定数据的位置时,您必须指定完整路径文件或文件夹使用一个国际化资源标识符(IRI)的其中一种形式:

hdfs: /path_to_file
hdfs: / / /path_to_file
hdfs: / /主机名/path_to_file

主机名主机或服务器和名称吗path_to_file文件或文件夹的路径。指定主机名是可选的。当你不指定主机名,Hadoop使用默认的主机名与Hadoop分布式文件系统在MATLAB (HDFS)安装。

例如,这些命令创建一个数据存储的文件,在一个文件夹命名数据位于主机命名myserver:

  • ds =数据存储(“hdfs: / / /数据/中”)
  • ds =数据存储(hdfs: / / myserver /数据/中)

如果主机名指定,它必须对应于namenode定义的fs.default.name财产的Hadoop XML配置文件为您的Hadoop集群。

可选地,您可以包括端口号。例如,这个位置指定一个主机命名myserver与港口7867年,包含文件在一个文件夹命名为数据:

hdfs: / / myserver: 7867 /数据/中

指定的端口号必须匹配HDFS中的端口号设置配置。

Hadoop环境变量

从HDFS阅读之前,使用setenv函数来设置适当的环境变量到Hadoop安装的文件夹中。必须从当前机器访问这个文件夹。

  • Hadoop v1 -设置HADOOP_HOME环境变量。

  • Hadoop v2 -设置HADOOP_PREFIX环境变量。

  • 如果您使用Hadoop Hadoop v1和v2,或者HADOOP_HOMEHADOOP_PREFIX环境变量没有设置,然后设置MATLAB_HADOOP_INSTALL环境变量。

例如,使用这个命令来设置HADOOP_HOME环境变量。hadoop-folder安装文件夹Hadoop,/ mypath /是文件夹的路径。

setenv (“HADOOP_HOME”、“/ mypath /hadoop-folder”);

HDFSHortonworks或数据Cloudera

如果你当前的机器访问Hortonworks或Cloudera HDFS数据®,那么你不需要设置HADOOP_HOMEHADOOP_PREFIX环境变量。MATLAB使用Hortonworks时自动分配这些环境变量或Cloudera应用边缘节点。

防止内存清理代码

当阅读从HDFS或本地读取序列文件,数据存储函数调用的javaaddpath命令。这个命令如下:

  • 清除所有Java的定义®类定义的文件在动态的类路径

  • 从基地的工作区中删除所有的全局变量和变量

  • 删除所有编译脚本、函数和MEX-functions从内存

防止持久变量、代码文件或mex files被清除,使用mlock函数。

另请参阅

||||||

这个主题有帮助吗?