2017-09-01 3 views
0

Azure SQLデータベースに50MBを超えない大きさの.csvファイルを一括して10分程度で大量に挿入したいと考えています。Bulk Copy Program(BCP)を使用せずにAzure SQLデータベースに一括挿入する方法は?

ただし、一括挿入はクラウドの場合はnot availableです。別のthreadで指摘されているように、BCPは実行可能なソリューションですが、ローカルデータベースにデータをバルク挿入する必要があります。ただし、PaaSインフラストラクチャでは運用システムレベルでの制御がなく、データベースの作成と管理が不可能なオプションです。

現時点では、標準のS3:100 DTU、250GB Azure SQLデータベースを使用して131KBの.csvに10分以上のrawデータをアップロードする必要があります。少なくとも1桁のアップロードをスピードアップするにはどうすればよいですか?

import pandas as pd 
import sqlalchemy 
table = pd.Dataframe(<your_data_here>) 
sql_driver = <driver> 
sql_server = <server> 
sql_user = <user> 
sql_pass = <password> 
sql_db = <database_name> 
sql_conn = sqlalchemy.create_engine(
    'mssql+pyodbc://'+sql_user+':'+sql_pass+'@'+sql_server+'/'+sql_db+'?driver='+sql_driver) 
table.to_sql('table_name', con=sql_conn) 
+0

Azure Data Factoryについて考えてみましょう。 – wBob

答えて

3

構文の下に使用してBLOBストレージアカウントからすることができます一括挿入:

BULK INSERT Test 
FROM 'source/data/Test.csv' 
WITH (DATA_SOURCE = 'MyAzureBlobStorage', 
       FORMAT='CSV', CODEPAGE = 65001, 
       FIRSTROW=2, 
       TABLOCK); 

は、この情報がお役に立てば幸いです。

関連する問題