このペジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。
リモトデタの操作
MATLAB®関数およびオブジェクト(ファイルI / O関数および一部の数据存储オブジェクトなど)を使用して,リモートの場所からデータを読み取りおよび書き込みできます。以下の例では,次のクラウドストレージプラットフォームでリモートの場所からセットアップ,読み取り,および書き込みする方法を説明します。
Amazon S3™(简单存储服务)
Azure®Blob Storage(旧Windows Azure®存储团(WASB))
Hadoop®分散ファルシステム(hdfs™)
Amazon S3
MATLABでは,Amazon S3をアマゾンウェブサービス提供のオンラインファイルストレージウェブサービスとして使用できます。デタの場所を指定する場合は、次の形式の Uniform Resource Locator (URL) を使用してファイルまたはフォルダーへの絶対パスを指定しなければなりません。
s3: / / bucketname / path_to_file
bucketname
はコンテナの名前,path_to_file
はファ邮箱ルまたはフォルダ邮箱へのパスです。
Amazon S3は,Webサ。“バケット”をコンテナとして使用して,オブジェクトをAmazon S3に格納できます。
アクセスの設定
Amazon S3のリモトデタを操作するには,まずアクセスを設定しなければなりません。
アマゾンウェブサビス(aws)のルトアカウントの新規登録を行います。「アマゾンウェブサビス:アカウントを参照してください。
AWSのルートアカウントを使用して,我(身份和访问管理)ユーザーを作成します。Awsアカウント内でのiamユザの作成を参照してください。
アクセスキを生成して,アクセスキidとシを受け取ります。我是ユザのアクセスキの管理を参照してください。
https://aws.amazon.com/cli/のAWSコマンドラインインターフェイスツールを使用して,AWSアクセスキーID,シークレットアクセスキー,およびリージョンについてマシンを設定します。あるいは,
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',…' inclesubfolders ', true, 'LabelSource', '文件夹名');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/dataset/ airlinsmall .csv',…'TreatAsMissing', 'NA', 'SelectedVariableNames', {'ArrDelay'});Tt =高(ds);Tt = sortrows(rmmissing(Tt));写(“s3: / / bucketname / preprocessedData /”,tt);
高デタを読み戻すには,高関数数据存储
を使用します。
ds = datastore('s3://bucketname/ preproceddata /');Tt =高(ds);
AzureBlob存储
MATLABでは,オンラインファイルストレージにAzure Blob存储を使用できます。デタの場所を指定する場合は、次の形式の Uniform Resource Locator (URL) を使用してファイルまたはフォルダーへの絶対パスを指定しなければなりません。
wasbs: / / container@account / path_to_file / file.ext
container@account
はコンテナの名前,path_to_file
はファ邮箱ルまたはフォルダ邮箱へのパスです。
Azureは,Webサ。“ブロブ”を使用して,デAzureに保存できます。詳細にいては,Azureの紹介を参照してください。
アクセスの設定
Azureストレジ内のリモトデタを操作するには,まずアクセスを設定しなければなりません。
微软Azureアカウントの新規登録を行います。微软Azureアカウントを参照してください。
setenv
を使用して以下の2つの環境変数のうちのどちらか1つのみを設定し,認証の詳細をセットアップします。MW_WASB_SAS_TOKEN
—共有アクセスシグネチャ(sas)による認証Sasを取得します。詳細にいては,存储资源管理器を使用してAzure Blob存储リソスを管理するで," blobコンテナのsasを取得する"の節を参照してください。
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 '
この文字列をAzure存储web UIまたはエクスプローラーから生成された有効なSASトークンに設定しなければなりません。
MW_WASB_SECRET_KEY
—アカウントの2 1各ストレジアカウントには2の秘密鍵があり,それを使用した管理者権限アクセスが可能です。環境変数
MW_WASB_SECRET_KEY
を設定することにより,SASトークンを作成しなくても,これと同じアクセス権をMATLABに付与できます。以下に例を示します。setenv MW_WASB_SECRET_KEY ' 1234567890abcdef1234567890abcdef '
并行计算工具箱を使用している場合は,EnvironmentVariables
をparpool
、批处理
,またはcreateJob
内で設定するか,クラスタープロファイルマネージャーで設定することにより,クライアント環境変数をクラスター上のワーカーにコピーしなければなりません。
詳細にいては,Azure HDInsightクラスタでAzure Storageを使用するを参照してください。
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/
にある場合,次を使用してデタストアを作成できます。
location = 'wasbs://blobContainer@storageAccount.blob.core.windows.net/airline/airlinesmall.csv';
ds = tabularTextDatastore(location, 'TreatAsMissing', 'NA',…SelectedVariableNames, {' ArrDelay '});
直接の読み取り,mapreduce
,高配列,深層学習など,データストアでサポートされるすべての計算にAzureを使用できます。たとえば,ImageDatastore
オブジェクトを作成して,指定したイメージをデータストアから読み取り,そのイメージを画面に表示します。
setenv(“MW_WASB_SAS_TOKEN”、“YOUR_WASB_SAS_TOKEN”);ds = imageDatastore('wasbs://YourContainer@YourAccount.blob.core.windows.net/',…' inclesubfolders ', true, 'LabelSource', '文件夹名');Img = ds.readimage(1);imshow (img)
Azureへのデタの書き込み
この例では,tabularTextDatastore
オブジェクトを使用してAzureから表形式データを高配列に読み取り,欠損エントリを削除して並べ替える前処理を行ったうえで,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 = datastore('wasbs://YourContainer@YourAccount.blob.core.windows.net/preprocessedData/');Tt =高(ds);
Hadoop分散ファ邮箱ルシステム
デタ位置の指定
MATLABでは,Hadoop分散ファイルシステム(HDFS)をオンラインファイルストレージウェブサービスとして使用できます。デタの場所を指定する場合は、次のいずれかの形式の Uniform Resource Locator (URL) を使用してファイルまたはフォルダーへの絶対パスを指定しなければなりません。
hdfs: / path_to_file
hdfs: / / / path_to_file
hdfs: / /主机名/ path_to_file
主机名
はホストまたはサバの名前,path_to_file
はファ邮箱ルまたはフォルダ邮箱へのパスです。主机名
の指定はオプションです。主机名
を指定しない場合,HadoopはMATLABのHadoop分散ファイルシステム(HDFS)インストールに関連付けられている既定のホスト名を使用します。
たとえば,これらのコマンドのどらを使用しても,myserver
というホストにある数据
という名前のフォルダのファ中
に対するデタストアを作成できます。
-
ds = tabularTextDatastore(“hdfs: / / /数据/中”)
-
ds = tabularTextDatastore(hdfs: / / myserver /数据/中)
主机名
を指定する場合は,HadoopクラスタのHadoop XML構成ファル内のfs.default.name
プロパティで定義されたnamenodeに一致しなければなりません。
オプションで,ポト番号を含めることもできます。たとえば,この場所は,数据
というフォルダのファ中
を含む,ポト7867
のmyserver
というホストを指定します。
hdfs: / / myserver: 7867 /数据/中
指定されたポト番号は,hdfs構成のポト番号セットに一致しなければなりません。
Hadoop環境変数の設定
HDFSから読み取る前に,関数setenv
を使用して,Hadoopが。このフォルダは,現在のマシンからアクセス可能でなければなりません。
Hadoop v1のみ-
HADOOP_HOME
環境変数を設定します。Hadoop v2のみ-
HADOOP_PREFIX
環境変数を設定します。Hadoop v1とHadoop v2の両方を操作する場合または
HADOOP_HOME
環境変数とHADOOP_PREFIX
環境変数が設定されていない場合は,MATLAB_HADOOP_INSTALL
環境変数を設定します。
たとえば,このコマンドを使用してHADOOP_HOME
環境変数を設定します。hadoop-folder
はHadoopがeconf,/ mypath /
はそのフォルダへのパスです。
setenv (' HADOOP_HOME ', ' / mypath / hadoop-folder ');
HortonworksまたはCloudera上のHDFSデタ
現在のマシンからHortonworksまたはCloudera®上のHDFSデタにアクセスできる場合,HADOOP_HOME
またはHADOOP_PREFIX
の環境変数を設定する必要はありません。HortonworksまたはClouderaアプリケーションのエッジ ノードを使用するとき、MATLAB はこれらの環境変数を自動的に割り当てます。
メモリからコドがクリアされるのを回避する
HDFSから読み取る場合やシケンスファ数据存储
はjavaaddpath
コマンドを呼び出します。このコマンドは以下を実行します。
動的クラスパス上のファiphone iphoneルによって定義されるすべてのJava®クラスの定義をクリアする
すべてのグロバル変数および基本ワクスペスからの変数を削除する
すべてのコンパルされているスクリプト,関数,mex関数をメモリから削除する
永続変数,コmlock
を使用します。
HDFSへのデタの書き込み
この例では,tabularTextDatastore
オブジェクトを使用してHDFSの場所にデの場所にデタを書き込む方法を説明します.使用实例関数写
を使用して,高配列と分散配列をHadoop分散ファereplicationルシステムに書き込みます。この関数を分散配列または高配列で呼び出すときは,HDFSフォルダーへの絶対パスを指定しなければなりません。次の例では,HDFSから表形式データを tall 配列に読み取り、欠損エントリを削除して並べ替える前処理を行ったうえで、HDFS に書き戻す方法を説明します。
ds = tabularTextDatastore('hdfs://myserver/some/path/dataset/ airlinsmall .csv',…'TreatAsMissing', 'NA', 'SelectedVariableNames', {'ArrDelay'});Tt =高(ds);Tt = sortrows(rmmissing(Tt));写(“hdfs: / / myserver /一些/道路/ preprocessedData / ', tt);
高デタを読み戻すには,高関数数据存储
を使用します。
ds = datastore('hdfs://myserver/some/path/ preprocseddata /');Tt =高(ds);
参考
数据存储
|tabularTextDatastore
|写
|imageDatastore
|imread
|imshow
|javaaddpath
|mlock
|setenv
関連するトピック
- Hadoopシケンスファルの読み取りと解析
- クラウドへの深層学習デタのアップロド(深度学习工具箱)