一部のアプリケーションは、毎日大量のデータをObject Storage Service (OSS) にアップロードし、大きなテキストオブジェクトに対して構造化分析を実行したい場合があります。 この場合、外部テーブルクエリ機能を使用して、OSSに保存されているデータを分析用にMaxComputeにロードできます。 MaxComputeは、数分以内に大量のOSSデータを分析できるため、低コストでデータ価値を効率的に調査できます。
前提条件
バケット作成についての 詳細は、「バケットの作成」をご参照ください。
MaxComputeはOSSへのアクセスを許可されています。
Alibaba CloudアカウントでRAMコンソールにログインした後、[Cloud Resource Access Authorization] ページにアクセスして権限を付与します。
MaxComputeプロジェクトが作成されます。 詳細については、「MaxComputeプロジェクトの作成」をご参照ください。
MaxComputeクライアントがインストールされ、設定されます。 詳細については、「MaxComputeクライアントのインストールと設定」をご参照ください。
手順
IoTによって収集されたデータをOSSにアップロードします。
データを準備します。
ローカルコンピューターにvehicle.csvファイルを作成します。 ファイルには、次のサンプルデータが含まれています。
1,1、51,1、46.81006、-92.08174、2014年9月14日0:00、S 1,2、13,1、46.81006、-92.08174、2014年9月14日0:00、NE 1,3、48,1、46.81006、-92.08174、2014年9月14日0:00、NE 1,4、30,1、46.81006、-92.08174、2014年9月14日0:00、W 1,5、47,1、46.81006、-92.08174、2014年9月14日0:00、S 1,6、9,1、46.81006、-92.08174、2014年9月14日0:00、S 1,7、53,1、46.81006、-92.08174、2014年9月14日0:00、N 1,8、63,1、46.81006、-92.08174、2014年9月14日0:00、SW 1,9、4,1、46.81006、-92.08174、2014年9月14日0:00、NE 1,10、31,1、46.81006、-92.08174、2014年9月14日0:00、N
vehicle.csvファイルを中国 (杭州) リージョンのexamplebucketバケットのdemo /ディレクトリにアップロードします。 詳細については、「オブジェクトのアップロード」をご参照ください。
MaxComputeクライアントを実行します。
詳細については、「MaxComputeクライアントの実行」をご参照ください。
MaxComputeを使用して外部テーブルを作成します。 詳細については、「テーブルの作成」をご参照ください。
data_csv_externalという名前の非パーティションテーブルを作成します。 例:
が存在しない場合は外部テーブルを作成しますdata_csv_external ( vehicleId int, recordId int, patientId int, calls int, locationLatitute double, locationLongtitue double, recordTime string, direction string ) STORED BY 'com.aliyun.odps.CsvStorageHandler' LOCATION 'oss:// oss-cn-hangzhou-internal.aliyuncs.com/examplebucket/demo/';
MaxComputeを使用して外部テーブルを照会します。
次の SQL 文を実行します。
recordId、patientId、data_csv_externalからpatientId > 25を選択します。
次の出力が返されます。
+ ---------- --------------------------------- | recordId | patientId | 方向 | + ---------- --------------------------------- | 1 | 51 | S | | 3 | 48 | NE | | 4 | 30 | W | | 5 | 47 | S | | 7 | 53 | N | | 8 | 63 | SW | | 10 | 31 | N | + ---------- --------------------------------
FAQ
どうすればよいですか <projectname>'failed: ODPS-0420095: Access Denied - Authorization Failed [4002], You don't exist in project <projectname>.
エラーメッセージが報告されましたか?
参考資料
MaxComputeでは、プロジェクト内にOSS外部テーブルを作成して、OSS外部テーブルとOSS内のディレクトリとの間のマッピングを作成できます。 OSS外部テーブルを使用して、OSSディレクトリ内の非構造化データにアクセスしたり、MaxComputeプロジェクトからOSSにデータを書き込んだりできます。 詳細については、「OSS外部テーブルの作成」をご参照ください。
MaxComputeテーブルからローカルコンピューターにデータをエクスポートして、オフラインで表示できます。 詳細については、「SQL文の実行と結果データのエクスポート」をご参照ください。
テーブルまたはMaxComputeプロジェクトが不要になった場合は、テーブルまたはMaxComputeプロジェクトを削除して、不要なリソースの浪費や料金を回避できます。 詳細については、「テーブルまたはMaxComputeプロジェクトの削除」をご参照ください。