使用远程数据
你可以读和写使用MATLAB数据从远程位置®函数和对象,如文件I / O函数和一些数据存储对象。这些例子显示如何设置,读取,并写在以下偏远地区云存储平台:
Amazon S3™(简单存储服务)
Azure®Blob存储(以前称为Windows Azure®存储Blob (WASB))
Hadoop®分布式文件系统(HDFS™)
Amazon S3
MATLAB可以使用Amazon S3作为一个在线文件存储Amazon web服务提供的web服务。指定数据的位置时,您必须指定完整路径文件或文件夹使用统一资源定位符(URL)的形式
s3: / /bucketname/path_to_file
bucketname
容器的名称和吗path_to_file
文件或文件夹的路径。
Amazon S3通过web服务接口提供数据存储。您可以使用一个桶作为一个容器来存储在Amazon S3对象。
设置访问
在Amazon S3与远程数据,您必须设置访问第一个:
注册一个Amazon Web Services (AWS)根帐户。看到亚马逊网络服务:帐户。
使用AWS根帐户,创建一个我身份和访问管理用户。看到用户在AWS帐户创建一个我。
生成一个访问密钥接收一个访问密钥ID访问密钥和秘密。看到为我用户管理访问键。
配置您的机器使用AWS访问密钥ID,秘密访问密钥,地区使用AWS命令行接口工具https://aws.amazon.com/cli/。或者,直接通过设置环境变量
setenv
:AWS_ACCESS_KEY_ID
和AWS_SECRET_ACCESS_KEY
——并使使用Amazon S3服务进行身份验证。(你生成这副关键变量的访问在步骤3)。AWS_DEFAULT_REGION
(可选)——选择你的桶的地理区域。这个环境变量的值通常是自动确定,但桶的所有者可能会要求您手动设置。AWS_SESSION_TOKEN
(可选)——指定会话令牌如果您使用的是临时安全凭据,如与AWS®联合身份验证。
如果您正在使用并行计算工具箱™,你必须确保集群配置为访问S3服务。你可以复制你的客户环境变量对集群通过设置工人EnvironmentVariables
在parpool
,批处理
,createJob
,或者在集群配置文件管理器。
读取的数据Amazon S3
下面的例子展示了如何使用一个ImageDatastore
从Amazon S3对象读取指定的图像,然后显示图像的屏幕。
setenv (“AWS_ACCESS_KEY_ID”、“YOUR_AWS_ACCESS_KEY_ID”);setenv (“AWS_SECRET_ACCESS_KEY”、“YOUR_AWS_SECRET_ACCESS_KEY”);ds = imageDatastore (s3: / / bucketname / image_datastore / jpegfiles’,……“IncludeSubfolders”,的确,“LabelSource”、“foldernames”);img = ds.readimage (1);imshow (img)
写数据Amazon S3
下面的例子展示了如何使用一个tabularTextDatastore
从Amazon S3对象阅读表格数据到一个高大数组,预处理,通过删除丢失的条目和排序,然后把它写回Amazon S3。
setenv (“AWS_ACCESS_KEY_ID”、“YOUR_AWS_ACCESS_KEY_ID”);setenv (“AWS_SECRET_ACCESS_KEY”、“YOUR_AWS_SECRET_ACCESS_KEY”);ds = tabularTextDatastore (s3: / / bucketname /数据/ airlinesmall。csv”,…“TreatAsMissing”、“NA”、“SelectedVariableNames”, {' ArrDelay '});tt =高(ds);tt = sortrows (rmmissing (tt));写(“s3: / / bucketname / preprocessedData /”, tt);
读你的高数据,使用数据存储
函数。
ds =数据存储(s3: / / bucketname / preprocessedData / ');tt =高(ds);
AzureBlob存储
MATLAB允许您使用Azure Blob存储在线文件存储。指定数据的位置时,您必须指定完整路径文件或文件夹使用统一资源定位符(URL)的形式
wasbs: / /container@account/path_to_file/file.ext
container@account
容器的名称和吗path_to_file
文件或文件夹的路径。
Azure通过web服务接口提供数据存储。您可以使用一个团在Azure存储数据文件。看到介绍Azure为更多的信息。
设置访问
在Azure存储与远程数据,您必须设置访问第一个:
注册一个微软Azure账户,明白了微软Azure帐户。
设置您的认证细节通过设置以下两个环境变量的一个使用
setenv
:MW_WASB_SAS_TOKEN
——通过共享访问身份验证签名(SAS)获得一个SAS。详情,请参阅“得到一个blob的SAS容器”一节管理与存储Azure Blob存储资源的探险家。
在MATLAB中,设置
MW_WASB_SAS_TOKEN
SAS查询字符串。例如,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”
如果您正在使用并行计算工具箱,您必须将您的客户端环境变量复制到集群上工人通过设置EnvironmentVariables
在parpool
,批处理
,createJob
,或者在集群配置文件管理器。
有关更多信息,请参见使用Azure存储Azure HDInsight集群。
读取的数据Azure
读取数据从Azure Blob存储位置,使用以下语法指定位置:
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为所有计算数据存储支持,包括直读,金宝appmapreduce
数组和深度学习,高。例如,创建一个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)
写数据Azure
这个例子展示了如何从Azure表格数据读入一个高大阵列使用tabularTextDatastore
对象,进行预处理,通过删除丢失的条目和排序,然后把它写回到Azure。
setenv (“MW_WASB_SAS_TOKEN”、“YOUR_WASB_SAS_TOKEN”);ds = tabularTextDatastore (“wasbs: / / YourContainer@YourAccount.blob.core.windows.net/dataset/airlinesmall.csv',…“TreatAsMissing”、“NA”、“SelectedVariableNames”, {' ArrDelay '});tt =高(ds);tt = sortrows (rmmissing (tt));写(“wasbs: / / YourContainer@YourAccount.blob.core.windows.net/preprocessedData/', tt);
读你的高数据,使用数据存储
函数。
ds =数据存储(“wasbs: / / YourContainer@YourAccount.blob.core.windows.net/preprocessedData/');tt =高(ds);
Hadoop分布式文件系统
指定位置的数据
MATLAB允许您使用Hadoop分布式文件系统(HDFS)作为一个在线文件存储web服务。指定数据的位置时,您必须指定完整路径文件或文件夹使用统一资源定位符(URL)的其中一种形式:
hdfs: /path_to_file
hdfs: / / /path_to_file
hdfs: / /主机名/path_to_file
主机名
主机或服务器和名称吗path_to_file
文件或文件夹的路径。指定主机名
是可选的。当你不指定主机名
,Hadoop使用默认的主机名与Hadoop分布式文件系统在MATLAB (HDFS)安装。
例如,您可以使用这些命令来创建一个数据存储的文件,中
在一个文件夹命名数据
位于主机命名myserver
:
-
ds = tabularTextDatastore (“hdfs: / / /数据/中”)
-
ds = tabularTextDatastore (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_HOME
和HADOOP_PREFIX
环境变量没有设置,然后设置MATLAB_HADOOP_INSTALL
环境变量。
例如,使用这个命令来设置HADOOP_HOME
环境变量。hadoop-folder
安装文件夹Hadoop,/ mypath /
是文件夹的路径。
setenv (“HADOOP_HOME”、“/ mypath /hadoop-folder”);
HDFSHortonworks或数据Cloudera
如果你当前的机器访问Hortonworks或Cloudera HDFS数据®,那么你不需要设置HADOOP_HOME
或HADOOP_PREFIX
环境变量。MATLAB使用Hortonworks时自动分配这些环境变量或Cloudera应用边缘节点。
防止内存清理代码
当阅读从HDFS或本地读取序列文件,数据存储
函数调用的javaaddpath
命令。这个命令如下:
清除所有Java的定义®类定义的文件在动态的类路径
从基地的工作区中删除所有的全局变量和变量
删除所有编译脚本、函数和MEX-functions从内存
防止持久变量、代码文件或mex files被清除,使用mlock
函数。
写数据HDFS
这个例子展示了如何使用一个tabularTextDatastore
对象数据写入一个HDFS的位置。使用写
函数来编写高Hadoop分布式文件系统和分布式阵列。当你调用这个函数在一个分布式或高大的数组,您必须指定一个HDFS文件夹的完整路径。下面的例子显示了如何从HDFS表格数据读入一个高大数组,预处理,通过删除丢失的条目和排序,然后把它写回HDFS。
ds = tabularTextDatastore (hdfs: / / /数据/ airlinesmall myserver /一些/路径。csv”,…“TreatAsMissing”、“NA”、“SelectedVariableNames”, {' ArrDelay '});tt =高(ds);tt = sortrows (rmmissing (tt));写(“hdfs: / / myserver /一些/道路/ preprocessedData / ', tt);
读你的高数据,使用数据存储
函数。
ds =数据存储(hdfs: / / myserver /一些/道路/ preprocessedData / ');tt =高(ds);
另请参阅
数据存储
|tabularTextDatastore
|写
|imageDatastore
|imread
|imshow
|javaaddpath
|mlock
|setenv
相关的话题
- 阅读和分析Hadoop顺序文件
- 深度学习的数据上传到云(深度学习工具箱)