私はAzure BLOBストレージからFileデータをAzure SQL DW外部テーブルにポリベースでロードしました。 Blobコンテナにあるファイルが更新されました。今私は新鮮なデータをロードしたいと思います。どのように新鮮なデータをポリベースを介して外部テーブルにロードすることができますか?私は存在する場合は外部テーブルを削除する方法を試して、新しいデータを読み込むために再度作成します。Poly Base外部テーブルを削除する方法はありますか?
答えて
外部テーブルを https://msdn.microsoft.com/en-us/library/dn935021.aspxに指定されているように作成した場合、何もするべきではありません。
外部テーブルはファイルへのポインタとなり、テーブルをクエリするたびに元のファイルからデータが読み込まれます。この方法でファイルを更新すると、Azure SQL DWで実行するアクションはありません。
外部テーブルから読み込むCREATE TABLE AS SELECT構文(https://msdn.microsoft.com/en-us/library/mt204041.aspxを参照)を使用してAzure SQL DWデータをインポートした場合は、テーブルを削除する必要がありますが、外部テーブルは削除する必要があります同様に、外部テーブルにクエリを実行すると、更新されたファイルが読み込まれます。
ので:
--creating an external table (using defined external data source and file format):
CREATE EXTERNAL TABLE ClickStream (
url varchar(50),
event_date date,
user_IP varchar(50)
)
WITH (
LOCATION='/webdata/employee.tbl',
DATA_SOURCE = mydatasource,
FILE_FORMAT = myfileformat
)
;
あなたは、クリックストリームから選択すると、それは常に/webdata/employee.tblファイルからコンテンツを読み込みます。新しいデータでemployee.tblファイルのみを更新する場合、実行するアクションはありません。
は代わり:
--Use CREATE TABLE AS SELECT to import the Azure blob storage data into a new
--SQL Data Warehouse table called ClickStreamData
CREATE TABLE ClickStreamData
WITH
(
CLUSTERED COLUMNSTORE INDEX,
DISTRIBUTION = HASH (user_IP)
)
AS SELECT * FROM ClickStream
;
データは、インスタンスにClickStreamDataテーブルにコピーされ、ファイルの更新が反映されません。この場合、ClickStreamDataを削除して再作成する必要がありますが、その外部テーブルは更新されたファイルからデータを読み込むため、ClickStreamをソースとして使用することはできます。
新しいデータを表示するために外部表を削除する必要はありません。しかし、DROP EXTERNAL TABLE
構文を使用して、必要に応じて、たとえば定義を変更するために、またはREJECT_TYPE
などのPolybase/externalテーブルを削除することができます。あなたはまた、それらをドロップする前に自分の存在のためにDMV sys.external_tables
を確認することができます例えば
IF EXISTS (SELECT * FROM sys.external_tables WHERE object_id = OBJECT_ID('yourSchema.yourTable'))
DROP EXTERNAL TABLE yourSchema.yourTable
GO
AzureのSQLデータウェアハウスは、まだしかし、SQL Serverの2016年のようにDROP IF EXISTS (DIE
)構文をサポートしていません 新しいデータを表示するだけの外部テーブル。 blobファイルが更新されている場合は、次に外部データベースに新しいデータがと表示され、と表示されます。
もう1つの方法は、外部テーブル定義にディレクトリ名を指定することです。そして、単にフォルダに新しいファイルをドロップすることで、データを使用して、テーブルをクエリ次回表示されます、例えば
CREATE EXTERNAL TABLE dbo.DimDate2External (
DateId INT NOT NULL,
CalendarQuarter TINYINT NOT NULL,
FiscalQuarter TINYINT NOT NULL
)
WITH (
LOCATION='/textfiles/dimDate/',
DATA_SOURCE=AzureStorage,
FILE_FORMAT=TextFile
);
あなたが持っていた場合はそのフォルダ内の最初のファイルがDimDate1.txt
と呼ばれ、その後、DimDate2.txt
と呼ばれる新しいファイルを追加したと言いますそれはテーブルに1つとして表示されます。
- 1. テーブルを削除する場合は、外部キー/インデックスを個別に削除する必要があります。
- 2. データを削除せずにHive外部テーブルを削除する
- 3. <base>タグをタグ自体を削除せずに上書きする方法はありますか?
- 4. ALTER TABLEを使用してOracle SQLにインライン外部キーを削除する方法はありますか。
- 5. 別のテーブルの外部キーであるプライマリ・キー列を削除
- 6. kivy属性を削除する方法はありますか?
- 7. メモリを "削除"する方法はありますか?
- 8. タブを削除する方法はありますか?
- 9. herokuのブランチを削除する方法はありますか
- 10. モバイルタッチデバイスのクリックラグを削除する方法はありますか?
- 11. HBaseでハード削除(リアル削除)する方法はありますか?
- 12. MySQLで循環外部キーを使用してテーブルを削除する方法
- 13. EF4.3の外部キー命名規則の取り消し/削除/ロールバックの方法はありますか?
- 14. 外部キーを持つ複数のテーブルから削除する
- 15. WCFが使用しないスキーマを削除または除外する方法はありますか?
- 16. 外部カラム "y.col1"(598)を外部カラムから削除する必要があります
- 17. SVNファイルを除熱(WiX)から除外する方法はありますか?
- 18. DROP PARTITIONはHIVEの外部テーブルからデータを削除しますか?
- 19. SQL Serverの外部キーと参照テーブルを削除します
- 20. 1以外のすべてのテーブルを削除する方法
- 21. 外部テーブルのデータが削除されたときに外部キーデータを削除する
- 22. UITableViewから区切り線を削除する方法はありますか?
- 23. TFSプロジェクトのブランチの一部であるフォルダを正しく削除する方法はありますか?
- 24. 私の.csファイルの上部にある長い使用リストを削除する方法はありますか?
- 25. SSIS外部メタデータ列を削除する必要があります
- 26. 外部キーが同じテーブルにあるときにoracleでカスケード削除を追加する方法
- 27. Cordova/Ionic - 外部ストレージファイルとディレクトリを削除する方法
- 28. mysqlの外部キーを削除する方法
- 29. 特定の列の外部キーを削除する方法
- 30. djangoの多対多リレーションシップ:アイテムを削除する方法はありますが、関連するモデルから削除する方法はありません
BLOBストレージ内のファイルが更新されている場合、外部テーブルを照会するだけで新しいデータが表示されます。削除して再作成する必要はありません。 – wBob