數據集成工具:Azure Data Factory:4.數據集成工具:復制活動詳解_第1頁
數據集成工具:Azure Data Factory:4.數據集成工具:復制活動詳解_第2頁
數據集成工具:Azure Data Factory:4.數據集成工具:復制活動詳解_第3頁
數據集成工具:Azure Data Factory:4.數據集成工具:復制活動詳解_第4頁
數據集成工具:Azure Data Factory:4.數據集成工具:復制活動詳解_第5頁
已閱讀5頁,還剩16頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

數據集成工具:AzureDataFactory:4.數據集成工具:復制活動詳解1數據集成工具:AzureDataFactory:復制活動詳解1.1介紹復制活動1.1.1復制活動概述AzureDataFactory的復制活動是一種用于將數據從一個數據存儲快速移動到另一個數據存儲的高效工具。它支持多種數據源和接收器,包括但不限于AzureBlob存儲、AzureSQL數據庫、Azure數據湖存儲、AmazonS3、Oracle數據庫、SQLServer等。復制活動利用了AzureDataFactory的優化數據移動引擎,能夠實現高速、可靠的數據傳輸。1.1.2復制活動的工作原理復制活動在執行時,會根據源和接收器的類型選擇最合適的傳輸機制。例如,當源和接收器都是基于云的存儲時,它會使用直接的云到云傳輸,避免了不必要的數據下載和上傳過程,從而提高了傳輸效率。對于本地到云的數據傳輸,復制活動會利用自托管集成運行時(IR)來處理數據移動,確保數據的安全性和傳輸速度。示例:從AzureBlob存儲復制數據到AzureSQL數據庫{

"name":"CopyBlobToSQL",

"properties":{

"activities":[

{

"name":"CopyBlobToSQL",

"type":"Copy",

"inputs":[

{

"referenceName":"BlobDataset",

"type":"DatasetReference"

}

],

"outputs":[

{

"referenceName":"SQLDataset",

"type":"DatasetReference"

}

],

"typeProperties":{

"source":{

"type":"BlobSource",

"recursive":true

},

"sink":{

"type":"SqlSink",

"sqlWriterStoredProcedureName":"usp_InsertData"

},

"dataFlow":{

"type":"DataFlow",

"dataFlowName":"DataFlowBlobToSQL"

}

}

}

],

"annotations":[]

}

}在這個示例中,我們定義了一個名為CopyBlobToSQL的管道,它包含一個復制活動。該活動從AzureBlob存儲(BlobDataset)讀取數據,并將其寫入AzureSQL數據庫(SQLDataset)。recursive屬性設置為true表示復制活動將遞歸地讀取Blob存儲中的所有文件。sqlWriterStoredProcedureName屬性指定了SQL數據庫中用于插入數據的存儲過程。1.1.3復制活動的使用場景復制活動適用于以下幾種常見的數據集成場景:數據遷移:當需要將數據從舊系統遷移到Azure中的新系統時,復制活動可以快速、高效地完成數據遷移任務。數據備份:定期使用復制活動將數據從生產環境復制到備份存儲,可以實現數據的備份和恢復策略。數據同步:在需要保持多個數據存儲之間數據一致性的場景下,復制活動可以作為數據同步的工具,確保數據的實時更新。數據處理前的準備:在數據進入復雜的數據處理流程之前,使用復制活動可以將數據從原始存儲移動到更易于處理的存儲中,如Azure數據湖存儲。1.2結論通過上述內容,我們深入了解了AzureDataFactory中復制活動的原理、工作方式以及其在數據集成項目中的應用。復制活動作為AzureDataFactory的核心功能之一,為數據的高效移動提供了強大的支持,是實現數據集成和數據遷移項目的重要工具。2數據集成工具:AzureDataFactory:復制活動詳解2.1設置復制活動2.1.1創建復制活動在AzureDataFactory中,復制活動是一種用于將數據從一個數據存儲移動到另一個數據存儲的高效工具。要創建復制活動,首先需要在AzureDataFactory中創建一個數據工廠,然后在管道中添加復制活動。登錄Azure門戶,訪問AzureDataFactory服務。創建數據工廠,如果尚未創建。打開數據工廠,選擇“創建和監控”選項。創建管道,在“活動”工具箱中,拖放“復制數據”活動到設計畫布上。配置復制活動,在管道設計畫布上,雙擊復制活動以打開配置窗口。示例代碼{

"name":"CopyActivitySample",

"properties":{

"activities":[

{

"name":"CopyFromBlobToSQL",

"type":"Copy",

"typeProperties":{

"source":{

"type":"BlobSource",

"recursive":true

},

"sink":{

"type":"SqlSink",

"sqlWriterStoredProcedureName":"usp_InsertData"

},

"dataset":{

"type":"BlobDataset",

"linkedService":{

"referenceName":"AzureBlobStorage",

"type":"LinkedServiceReference"

},

"typeProperties":{

"folderPath":"inputdata"

}

},

"sink":{

"type":"SqlDataset",

"linkedService":{

"referenceName":"AzureSqlDatabase",

"type":"LinkedServiceReference"

},

"typeProperties":{

"tableName":"dbo.OutputTable"

}

}

}

}

]

}

}2.1.2配置數據源和接收器在復制活動的配置中,需要指定數據源和接收器。數據源是數據的來源,接收器是數據的目標位置。AzureDataFactory支持多種數據存儲作為數據源和接收器,包括AzureBlob存儲、AzureSQL數據庫、AzureCosmosDB等。示例配置在配置窗口中,選擇“源”選項卡,然后選擇數據源類型,例如“Blob存儲”。接著,選擇“接收器”選項卡,選擇接收器類型,例如“SQL數據庫”。2.1.3選擇復制數據的類型復制活動支持多種數據類型,包括結構化數據和非結構化數據。在配置復制活動時,需要選擇要復制的數據類型。例如,如果數據源是CSV文件,那么在配置中應選擇“CSV”作為數據類型。示例選擇在配置窗口的“源”選項卡中,選擇“CSV”作為數據格式。在“接收器”選項卡中,確保數據類型與目標數據庫表匹配。2.1.4設置復制活動的性能和壓縮選項為了優化復制活動的性能,可以設置并行度和壓縮選項。并行度決定了同時處理的數據文件數量,而壓縮選項可以減少傳輸的數據量,從而提高傳輸速度。示例設置在配置窗口中,選擇“設置”選項卡,可以調整“并行度”和啟用“壓縮”選項。例如,設置并行度為4,啟用GZip壓縮。{

"name":"CopyActivityPerformanceSettings",

"properties":{

"activities":[

{

"name":"CopyFromBlobToSQL",

"type":"Copy",

"typeProperties":{

"source":{

"type":"BlobSource",

"recursive":true

},

"sink":{

"type":"SqlSink",

"sqlWriterStoredProcedureName":"usp_InsertData"

},

"copySink":{

"parallelCopies":4,

"compression":{

"type":"GZip",

"level":"Optimal"

}

}

}

}

]

}

}通過以上步驟,可以詳細地設置和配置AzureDataFactory中的復制活動,以滿足數據集成和傳輸的需求。3數據集成工具:AzureDataFactory:復制活動的高級功能3.1使用動態內容在AzureDataFactory中,復制活動可以利用動態內容來增強數據遷移的靈活性。動態內容允許您在復制活動的配置中使用表達式,從而根據運行時的條件動態地選擇源和目標數據集。這在處理動態變化的文件路徑、文件名或數據庫表時特別有用。3.1.1示例:動態文件路徑復制假設您有一個AzureBlob存儲,其中包含多個文件,文件名根據日期動態變化。您希望將這些文件復制到另一個Blob存儲中,但目標路徑也應根據源文件的日期動態生成。以下是如何使用動態內容實現這一目標的示例:{

"name":"DynamicCopyPipeline",

"properties":{

"activities":[

{

"name":"CopyBlobToBlob",

"type":"Copy",

"typeProperties":{

"source":{

"type":"BlobSource",

"recursive":true

},

"sink":{

"type":"BlobSink"

},

"dataset":{

"type":"BlobDataset",

"linkedService":{

"referenceName":"SourceBlobStorage",

"type":"LinkedServiceReference"

},

"typeProperties":{

"folderPath":{

"value":"@pipeline().parameters.sourceFolderPath",

"type":"Expression"

},

"fileName":{

"value":"@pipeline().parameters.sourceFileName",

"type":"Expression"

}

}

},

"sink":{

"type":"BlobDataset",

"linkedService":{

"referenceName":"DestinationBlobStorage",

"type":"LinkedServiceReference"

},

"typeProperties":{

"folderPath":{

"value":"@concat('destinationFolder/',pipeline().parameters.sourceFileName,'/',pipeline().parameters.sourceFolderPath)",

"type":"Expression"

}

}

}

},

"parameters":{

"sourceFolderPath":{

"type":"string"

},

"sourceFileName":{

"type":"string"

}

}

}

]

}

}在這個例子中,sourceFolderPath和sourceFileName是管道參數,它們在管道運行時動態提供。表達式@pipeline().parameters.sourceFolderPath和@pipeline().parameters.sourceFileName用于動態生成源和目標的文件路徑。3.2執行條件復制AzureDataFactory的復制活動可以通過條件表達式來控制數據的復制流程。這意味著您可以根據特定條件決定是否執行復制,或者復制哪些數據。這在處理數據時提供了額外的控制層,確保只有滿足特定條件的數據才會被遷移。3.2.1示例:基于文件大小的條件復制假設您有一個數據湖,其中包含大量文件,但您只希望復制大小超過1GB的文件。以下是如何使用條件表達式來實現這一需求的示例:{

"name":"ConditionalCopyPipeline",

"properties":{

"activities":[

{

"name":"LookupFileSize",

"type":"Lookup",

"typeProperties":{

"source":{

"type":"BlobSource",

"recursive":true,

"enablePartitionDiscovery":true

},

"dataset":{

"type":"BlobDataset",

"linkedService":{

"referenceName":"SourceBlobStorage",

"type":"LinkedServiceReference"

},

"typeProperties":{

"folderPath":"sourceFolder"

}

}

}

},

{

"name":"CopyLargeFiles",

"type":"Copy",

"typeProperties":{

"source":{

"type":"BlobSource"

},

"sink":{

"type":"BlobSink"

},

"dataset":{

"type":"BlobDataset",

"linkedService":{

"referenceName":"DestinationBlobStorage",

"type":"LinkedServiceReference"

},

"typeProperties":{

"folderPath":"destinationFolder"

}

},

"conditions":[

{

"expression":{

"value":"@activity('LookupFileSize').output.firstRow.file_size>1073741824",

"type":"Expression"

}

}

]

}

}

]

}

}在這個例子中,首先使用Lookup活動來檢索源文件的大小。然后,CopyLargeFiles活動通過條件@activity('LookupFileSize').output.firstRow.file_size>1073741824來判斷文件大小是否超過1GB,只有滿足條件的文件才會被復制。3.3復制活動的錯誤處理和重試策略在數據復制過程中,可能會遇到各種錯誤,如網絡問題、權限問題或數據格式不匹配等。AzureDataFactory提供了錯誤處理和重試策略,以確保數據復制的可靠性和數據的完整性。3.3.1錯誤處理AzureDataFactory允許您在復制活動的配置中指定錯誤處理策略。例如,您可以選擇在遇到錯誤時停止整個管道,或者跳過錯誤的文件并繼續處理其他文件。3.3.2重試策略重試策略允許您在遇到暫時性錯誤時自動重試復制活動。這可以提高管道的健壯性,減少因短暫網絡中斷或資源不可用導致的失敗。3.3.3示例:配置重試策略和錯誤處理以下是一個配置了重試策略和錯誤處理的復制活動示例:{

"name":"RetryAndErrorHandlingPipeline",

"properties":{

"activities":[

{

"name":"CopyBlobToBlob",

"type":"Copy",

"typeProperties":{

"source":{

"type":"BlobSource"

},

"sink":{

"type":"BlobSink"

},

"dataset":{

"type":"BlobDataset",

"linkedService":{

"referenceName":"SourceBlobStorage",

"type":"LinkedServiceReference"

},

"typeProperties":{

"folderPath":"sourceFolder"

}

},

"sink":{

"type":"BlobDataset",

"linkedService":{

"referenceName":"DestinationBlobStorage",

"type":"LinkedServiceReference"

},

"typeProperties":{

"folderPath":"destinationFolder"

}

},

"retryPolicy":{

"count":3,

"intervalInSeconds":30

},

"onError":{

"action":"Continue",

"skipExpression":{

"value":"@activity('CopyBlobToBlob').output.errors[0].errorCode=='404'",

"type":"Expression"

}

}

}

}

]

}

}在這個例子中,retryPolicy配置了在遇到錯誤時自動重試3次,每次重試間隔30秒。onError配置則指定了在遇到特定錯誤(如文件不存在錯誤)時,管道應繼續執行,而不是停止。通過這些高級功能,AzureDataFactory的復制活動可以更智能、更靈活地處理復雜的數據遷移場景,確保數據的準確性和管道的穩定性。4監控和優化AzureDataFactory中的復制活動4.1監控復制活動的執行4.1.1監控工具與指標AzureDataFactory提供了多種工具來監控復制活動的執行情況,包括Azure門戶、DataFactory監控工具、日志分析以及AzureMonitor。這些工具可以幫助你追蹤活動的狀態、執行時間、數據傳輸速率等關鍵指標。示例:使用AzureMonitor監控復制活動#使用AzureCLI查詢復制活動的監控數據

azmonitormetricslist\

--resource{your-data-factory-resource-id}\

--metric"DataRead""DataWritten""CopyDuration"\

--intervalPT1H\

--aggregationtotal上述代碼示例展示了如何使用AzureCLI來查詢復制活動的監控數據,包括讀取的數據量(DataRead)、寫入的數據量(DataWritten)以及復制活動的持續時間(CopyDuration)。通過設置不同的聚合方式和時間間隔,可以獲取更詳細的監控信息。4.1.2診斷復制活動問題當復制活動出現故障時,可以利用DataFactory的日志和診斷設置來定位問題。例如,檢查活動運行日志中的錯誤消息,或者使用AzureMonitor的日志查詢功能來分析更深層次的執行細節。示例:分析復制活動日志在Azure門戶中,導航至你的DataFactory實例,選擇“監控”>“活動運行”,然后篩選出復制活動。點擊具體的活動運行記錄,可以查看詳細的執行日志,包括源和接收器的性能統計、錯誤信息等。4.2分析復制活動的性能4.2.1性能指標為了優化復制活動,需要關注以下性能指標:-數據傳輸速率:衡量數據從源到接收器的傳輸速度。-CPU利用率:了解執行活動的計算資源使用情況。-I/O等待時間:分析數據讀寫操作的等待時間,以判斷是否存在I/O瓶頸。示例:分析數據傳輸速率假設你正在監控一個從AzureBlob存儲復制數據到AzureSQL數據庫的復制活動。在AzureMonitor中,你可以設置一個圖表來顯示“DataRead”和“DataWritten”的指標,以秒為單位,從而計算出平均數據傳輸速率。4.3優化復制活動的策略4.3.1并行復制AzureDataFactory支持并行復制數據,通過增加并行度可以顯著提高數據傳輸速率。并行度的設置取決于源和接收器的性能,以及網絡帶寬。示例:設置并行復制在復制活動的設置中,可以調整“并行復制”選項。例如,如果源數據存儲在AzureBlob,而接收器是AzureSQL數據庫,可以嘗試將并行度設置為4或更高,以優化數據傳輸。{

"name":"CopyActivity",

"type":"Copy",

"typeProperties":{

"source":{

"type":"BlobSource",

"recursive":true

},

"sink":{

"type":"SqlSink",

"sqlWriterStoredProcedureName":"usp_InsertData"

},

"parallelCopies":4

}

}上述JSON配置展示了如何在復制活動的定義中設置并行復制的參數。parallelCopies的值設置為4,意味著復制活動將嘗試同時使用4個數據流進行數據傳輸。4.3.2選擇合適的接收器類型不同的接收器類型對數據的處理方式不同,選擇最適合你數據特性的接收器類型可以提高復制效率。示例:使用SQL接收器如果你正在從一個結構化數據源復制數據到AzureSQL數據庫,使用SQL接收器可以利用SQLServer的批量插入功能,從而提高數據寫入速度。{

"name":"CopyActivity",

"type":"Copy",

"typeProperties":{

"sink":{

"type":"SqlSink",

"sqlWriterStoredProcedureName":"usp_BulkInsert"

}

}

}在這個例子中,sqlWriterStoredProcedureName被設置為usp_BulkInsert,這意味著復制活動將調用一個存儲過程來執行批量插入操作,而不是逐行插入,從而提高數據寫入的效率。4.3.3利用壓縮在復制大量數據時,利用壓縮可以減少數據傳輸的時間和成本。AzureDataFactory支持多種壓縮格式,如GZip、Deflate等。示例:設置壓縮在復制活動的源設置中,可以指定壓縮格式和壓縮級別。例如,從AzureBlob存儲復制壓縮的CSV文件到AzureSQL數據庫。{

"name":"CopyActivity",

"type":"Copy",

"typeProperties":{

"source":{

"type":"BlobSource",

"compression":{

"type":"GZip",

"level":"Optimal"

}

}

}

}上述JSON配置展示了如何在復制活動的源設置中啟用GZip壓縮,并設置壓縮級別為“Optimal”。這將自動壓縮源數據,從而減少數據傳輸的大小,提高復制效率。4.3.4調整數據流根據源和接收器的性能,調整數據流的大小和類型可以進一步優化復制活動。例如,使用更大的數據流可以提高數據傳輸速率,但可能會增加計算資源的使用。示例:調整數據流大小在復制活動的設置中,可以調整“數據流大小”選項。如果源數據存儲在AzureBlob,而接收器是AzureSQL數據庫,可以嘗試將數據流大小設置為“Large”,以優化數據傳輸。{

"name":"CopyActivity",

"type":"Copy",

"typeProperties":{

"dataFlow":{

"type":"Large"

}

}

}請注意,AzureDataFactory的數據流大小調整是一個高級特性,需要根據具體的數據源和接收器類型來決定最佳設置。在上述JSON配置中,dataFlow的類型被設置為“Large”,這將嘗試使用更大的數據流進行數據傳輸,但具體的效果需要通過監控和測試來驗證。4.3.5利用緩存在復制活動之間,利用緩存可以減少重復的數據讀取操作,從而提高整體的復制效率。AzureDataFactory支持在活動之間共享數據集,從而實現緩存的效果。示例:利用緩存假設你有多個復制活動,都需要從同一個AzureBlob存儲讀取數據。在第一個復制活動完成后,可以將數據集設置為“緩存”,這樣后續的復制活動可以直接從緩存中讀取數據,而不需要再次訪問Blob存儲。{

"name":"CachedDataset",

"properties":{

"type":"AzureBlob",

"linkedServiceName":{

"referenceName":"AzureStorageLinkedService",

"type":"LinkedServiceReference"

},

"typeProperties":{

"fileName":"data.csv",

"folderPath":"input/",

"format":{

"type":"TextFormat",

"columnDelimiter":","

}

},

"cacheMode":"IfSourceModified"

}

}在上述JSON配置中,cacheMode被設置為“IfSourceModified”,這意味著只有當源數據發生變化時,才會重新讀取數據。否則,后續的復制活動將直接從緩存中讀取數據,從而提高效率。4.3.6總結通過監控復制活動的執行、分析性能指標、并采取上述優化策略,可以顯著提高AzureDataFactory中復制活動的效率和可靠性。務必根據你的具體需求和資源限制,調整并行度、接收器類型、壓縮設置以及數據流大小,以達到最佳的復制效果。同時,利用緩存可以減少重復的數據讀取操作,進一步提高整體的復制效率。5數據集成工具:AzureDataFactory:復制活動詳解5.1復制活動的常見問題與解決方案5.1.1問題診斷問題1:數據復制失敗,源數據與目標數據類型不匹配場景描述:在使用AzureDataFactory的復制活動時,如果源數據類型與目標數據類型不匹配,可能會導致數據復制失敗。解決方案:1.檢查數據類型:確保源數據表和目標數據表的列數據類型一致。2.使用轉換:如果數據類型不一致,可以使用轉換活動(如映射數據流)來轉換數據類型,然后再進行復制。示例代碼:{

"name":"MappingDataFlow",

"properties":{

"type":"MappingDataFlow",

"typeProperties":{

"sources":[

{

"name":"sourceDataset",

"properties":{

"type":"AzureSqlSource",

"sqlReaderQuery":"SELECT*FROMsourceTable",

"typeProperties":{

"type":"AzureSqlSource",

"sqlReaderQuery":"SELECT*FROMsourceTable",

"sqlReaderStoredProcedureName":"",

"storedProcedureParameters":{},

"partitioningMode":"none",

"additionalColumns":""

}

}

}

],

"sinks":[

{

"name":"sinkDataset",

"properties":{

"type":"AzureSqlSink",

"typeProperties":{

"type":"AzureSqlSink",

"preCopyScript":"",

"postCopyScript":"",

"sqlWriterStoredProcedureName":"",

"storedProcedureParameters":{},

"tableReference":"targetTable",

"additionalColumns":""

}

}

}

],

"transformations":[

{

"name":"typeConversion",

"properties":{

"type":"DerivedColumn",

"inputs":[

"sourceDataset"

],

"outputs":[

"convertedData"

],

"transformation":{

"type":"DerivedColumn",

"inputs":[

"sourceDataset"

],

"outputs":[

{

"name":"convertedData",

"properties":{

"structure":[

{

"name":"column1",

"type":"String"

},

{

"name":"column2",

"type":"Int32"

}

]

}

}

],

"expressions":[

{

"name":"column1",

"expression":"@toString($$Text(1))"

},

{

"name":"column2",

"expression":"@toInt($$Text(2))"

}

]

}

}

}

]

}

}

}描述:此示例展示了如何使用映射數據流中的DerivedColumn轉換來將源數據中的列數據類型從Text轉換為String和Int32,以匹配目標數據表的列數據類型。問題2:復制活動性能低下場景描述:當復制大量數據時,復制活動的性能可能成為瓶頸,導致數據加載時間過長。解決方案:1.增加并行度:在復制活動的設置中,增加并行度可以提高數據復制的速度。2.優化數據源:確保數據源的讀取性能,例如使用索引、分區等技術。3.使用壓縮:對數據進行壓縮可以減少傳輸的數據量,從而提高復制速度。示例代碼:{

"name":"CopyActivity",

"properties":{

"type":"Copy",

"typeProperties":{

"source":{

"type":"AzureSqlSource",

"sqlReaderQuery":"SELECT*FROMsourceTable",

"typeProperties":{

"type":"AzureSqlSource",

"sqlReaderQuery":"SELECT*FROMsourceTable",

"sqlReaderStoredProcedureName":"",

"storedProcedureParameters":{},

"partitioningMode":"none",

"additionalColumns":""

}

},

"sink":{

"type":"AzureSqlSink",

"typeProperties":{

"type":"AzureSqlSink",

"preCopyScript":"",

"postCopyScript":"",

"sqlWriterStoredProcedureName":"",

"storedProcedureParameters":{},

"tableReference":"targetTable",

"additionalColumns":""

}

},

"datasetParameters":{},

"copyBehavior":"None",

"copyConcurrency":10,//增加并行度

"sinkRetryWrite":0,

"sourceRetryRead":0,

"sinkWriteBatchSize":0,

"sinkWriteBatchTimeout":"00:00:00",

"enableStaging":false,

"staging":{},

"enableSkipIncompatibleRow":false,

"redirectIncompatibleRow":"",

"enableStaleDataDetection":false,

"staleDataDetectionPolicy":{},

"enableDataConsistencyCheck":false,

"dataConsistencyCheckPolicy":{},

"enablePartitionDiscovery":false,

"partitionSettings":{},

"enableSchemaDriftManagement":false,

"schemaDriftPolicy":{},

"enableSkipIncompatibleRowAndReportResult":false,

"redirectIncompatibleRowAndReportResult":"",

"enableStagingForLargeData":false,

"stagingForLargeData":{},

"enableStagingForSmallData":false,

"stagingForSmallData":{},

"enableStagingForAllData":false,

"stagingForAllData":{},

"enableStagingForLargeDataAndSmallData":false,

"stagingForLargeDataAndSmallData":{},

"enableStagingForAllDataAndSmallData":false,

"stagingForAllDataAndSmallData":{},

"enableStagingForAllDataAndLargeData":false,

"stagingForAllDataAndLargeData":{},

"enableStagingForAllDataAndLargeDataAndSmallData":false,

"stagingForAllDataAndLargeDataAndSmallData":{},

"enableStagingForLargeDataAndSmallDataAndAllData":false,

"stagingForLargeDataAndSmallDataAndAllData":{},

"enableStagingForSmallDataAndAllData":false,

"stagingForSmallData

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論