數(shù)據(jù)集成工具:Azure Data Factory:1.數(shù)據(jù)集成概述與AzureDataFactory介紹_第1頁
數(shù)據(jù)集成工具:Azure Data Factory:1.數(shù)據(jù)集成概述與AzureDataFactory介紹_第2頁
數(shù)據(jù)集成工具:Azure Data Factory:1.數(shù)據(jù)集成概述與AzureDataFactory介紹_第3頁
數(shù)據(jù)集成工具:Azure Data Factory:1.數(shù)據(jù)集成概述與AzureDataFactory介紹_第4頁
數(shù)據(jù)集成工具:Azure Data Factory:1.數(shù)據(jù)集成概述與AzureDataFactory介紹_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

數(shù)據(jù)集成工具:AzureDataFactory:1.數(shù)據(jù)集成概述與AzureDataFactory介紹1數(shù)據(jù)集成基礎(chǔ)概念1.1數(shù)據(jù)集成的重要性在當今數(shù)據(jù)驅(qū)動的商業(yè)環(huán)境中,數(shù)據(jù)集成(DataIntegration)扮演著至關(guān)重要的角色。它是指將來自不同來源、格式和結(jié)構(gòu)的數(shù)據(jù)合并到一個統(tǒng)一的視圖中,以便進行分析、報告和決策。數(shù)據(jù)集成的重要性體現(xiàn)在以下幾個方面:提高數(shù)據(jù)質(zhì)量:通過數(shù)據(jù)清洗和轉(zhuǎn)換,確保數(shù)據(jù)的準確性和一致性。增強決策能力:提供全面的數(shù)據(jù)視圖,支持更深入的分析和更明智的決策。促進業(yè)務(wù)敏捷性:快速響應(yīng)市場變化,通過實時或近實時的數(shù)據(jù)集成,加速業(yè)務(wù)流程。簡化數(shù)據(jù)管理:集中管理數(shù)據(jù),減少數(shù)據(jù)孤島,提高數(shù)據(jù)的可訪問性和可用性。1.2數(shù)據(jù)集成的挑戰(zhàn)與解決方案1.2.1挑戰(zhàn)數(shù)據(jù)集成面臨的主要挑戰(zhàn)包括:數(shù)據(jù)多樣性:數(shù)據(jù)可能來自多種不同的源,如數(shù)據(jù)庫、文件、云存儲等,且格式和結(jié)構(gòu)各異。數(shù)據(jù)量:大數(shù)據(jù)環(huán)境下,數(shù)據(jù)量巨大,對處理速度和存儲能力有高要求。數(shù)據(jù)質(zhì)量:原始數(shù)據(jù)可能存在錯誤、重復或缺失,需要進行清洗和驗證。數(shù)據(jù)安全與合規(guī):確保數(shù)據(jù)在傳輸和存儲過程中的安全,遵守數(shù)據(jù)保護法規(guī)。1.2.2解決方案為應(yīng)對這些挑戰(zhàn),數(shù)據(jù)集成工具如AzureDataFactory提供了以下解決方案:數(shù)據(jù)源連接:支持多種數(shù)據(jù)源連接,包括SQLServer、AzureSQLDatabase、AzureCosmosDB、AmazonS3等,簡化數(shù)據(jù)接入。數(shù)據(jù)轉(zhuǎn)換:提供數(shù)據(jù)轉(zhuǎn)換服務(wù),如映射數(shù)據(jù)流,用于數(shù)據(jù)清洗、格式轉(zhuǎn)換和復雜數(shù)據(jù)處理。數(shù)據(jù)復制與遷移:高效的數(shù)據(jù)復制和遷移工具,支持大規(guī)模數(shù)據(jù)的快速傳輸。數(shù)據(jù)監(jiān)控與管理:內(nèi)置監(jiān)控和管理功能,確保數(shù)據(jù)集成過程的透明度和可控性。安全與合規(guī):遵循嚴格的安全標準,提供數(shù)據(jù)加密、訪問控制等安全措施,確保數(shù)據(jù)安全。1.3AzureDataFactory介紹AzureDataFactory(ADF)是微軟Azure平臺上的一個數(shù)據(jù)集成服務(wù),用于創(chuàng)建和調(diào)度數(shù)據(jù)驅(qū)動的工作流。它提供了一套豐富的工具和功能,幫助用戶輕松地從各種數(shù)據(jù)源中提取、轉(zhuǎn)換和加載數(shù)據(jù)(ETL),以及實現(xiàn)數(shù)據(jù)復制和遷移。1.3.1主要功能數(shù)據(jù)源連接:支持連接到各種數(shù)據(jù)存儲,包括本地和云數(shù)據(jù)源。數(shù)據(jù)轉(zhuǎn)換:通過映射數(shù)據(jù)流、WranglingDataFlows等工具,實現(xiàn)數(shù)據(jù)的清洗、轉(zhuǎn)換和加載。數(shù)據(jù)復制:使用CopyActivity快速復制數(shù)據(jù),支持多種數(shù)據(jù)格式和壓縮類型。工作流調(diào)度:通過Pipeline和Trigger,實現(xiàn)數(shù)據(jù)工作流的自動化調(diào)度和執(zhí)行。監(jiān)控與管理:提供詳細的運行日志和監(jiān)控儀表板,便于跟蹤和管理數(shù)據(jù)集成任務(wù)。1.3.2示例:使用ADF進行數(shù)據(jù)復制假設(shè)我們有一個本地SQLServer數(shù)據(jù)庫,需要將其中的銷售數(shù)據(jù)復制到AzureBlob存儲中,以便進行進一步的分析。以下是如何使用ADF的CopyActivity來實現(xiàn)這一目標的步驟:創(chuàng)建數(shù)據(jù)工廠:在Azure門戶中創(chuàng)建一個新的數(shù)據(jù)工廠。定義數(shù)據(jù)源和接收器:在數(shù)據(jù)工廠中定義本地SQLServer數(shù)據(jù)庫和AzureBlob存儲的數(shù)據(jù)集。創(chuàng)建CopyActivity:在Pipeline中添加CopyActivity,選擇定義的數(shù)據(jù)源和接收器。設(shè)置數(shù)據(jù)復制規(guī)則:在CopyActivity中設(shè)置數(shù)據(jù)復制的規(guī)則,如選擇要復制的表和列。調(diào)度Pipeline:使用Trigger來調(diào)度Pipeline的執(zhí)行,如每天凌晨自動運行。//AzureDataFactoryPipelineJSON定義示例

{

"name":"CopySalesData",

"properties":{

"activities":[

{

"name":"CopySalesDataToBlob",

"type":"Copy",

"typeProperties":{

"source":{

"type":"SqlSource",

"sqlReaderQuery":"SELECT*FROMSales"

},

"sink":{

"type":"BlobSink",

"writeBatchSize":0,

"writeBatchTimeout":"00:00:00"

},

"datasetMappings":[

{

"sourceDataset":{

"referenceName":"SalesData",

"type":"DatasetReference"

},

"sinkDataset":{

"referenceName":"BlobSalesData",

"type":"DatasetReference"

}

}

]

}

}

],

"triggers":{

"DailyTrigger":{

"recurrence":{

"frequency":"Day",

"interval":1,

"startTime":"2023-01-01T00:00:00Z",

"timeZone":"UTC"

},

"pipeline":{

"pipelineReference":{

"referenceName":"CopySalesData"

},

"parameters":{}

}

}

}

}

}在上述示例中,我們定義了一個名為CopySalesData的Pipeline,其中包含一個CopyActivity,用于從SQLServer數(shù)據(jù)庫的Sales表中復制數(shù)據(jù)到AzureBlob存儲。我們還定義了一個名為DailyTrigger的Trigger,用于每天凌晨自動執(zhí)行數(shù)據(jù)復制任務(wù)。通過使用AzureDataFactory,我們可以有效地解決數(shù)據(jù)集成的挑戰(zhàn),實現(xiàn)數(shù)據(jù)的高效管理和利用,從而支持更深入的業(yè)務(wù)洞察和決策。2數(shù)據(jù)集成工具:AzureDataFactory2.1AzureDataFactory介紹2.1.1AzureDataFactory的功能與優(yōu)勢AzureDataFactory(ADF)是微軟Azure平臺上的一個云服務(wù),用于創(chuàng)建和調(diào)度數(shù)據(jù)集成工作流。它提供了一種無服務(wù)器的方式來處理數(shù)據(jù),允許用戶在不同的數(shù)據(jù)存儲之間移動和轉(zhuǎn)換數(shù)據(jù)。ADF的主要功能包括:數(shù)據(jù)集成:通過復制活動、查詢活動等,從各種數(shù)據(jù)源中提取數(shù)據(jù),進行轉(zhuǎn)換和加載到目標數(shù)據(jù)存儲。數(shù)據(jù)轉(zhuǎn)換:使用映射數(shù)據(jù)流、Wrangling數(shù)據(jù)流或自定義.NET或Python代碼,對數(shù)據(jù)進行清洗、轉(zhuǎn)換和聚合。數(shù)據(jù)監(jiān)控和管理:提供數(shù)據(jù)管道的監(jiān)控和日志記錄,以及數(shù)據(jù)血緣分析,幫助理解數(shù)據(jù)的來源和去向。安全性與合規(guī)性:支持數(shù)據(jù)加密、角色訪問控制和審計,確保數(shù)據(jù)的安全和合規(guī)。ADF的優(yōu)勢在于:云原生:利用云的彈性,無需管理硬件或軟件。廣泛的數(shù)據(jù)源支持:連接到各種數(shù)據(jù)存儲,包括AzureSQL、AzureCosmosDB、AmazonS3、Oracle數(shù)據(jù)庫等。高度可擴展:根據(jù)數(shù)據(jù)處理需求自動擴展計算資源。易于集成:與Azure其他服務(wù)如AzureDatabricks、AzureSynapseAnalytics等無縫集成。2.1.2數(shù)據(jù)工廠的工作原理數(shù)據(jù)工廠的核心組件是數(shù)據(jù)管道(Pipelines),它由一系列活動(Activities)組成,這些活動可以是數(shù)據(jù)移動、數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)加載等。每個活動都有其特定的源和接收器,以及可能的轉(zhuǎn)換邏輯。創(chuàng)建數(shù)據(jù)管道示例1.登錄到Azure門戶。

2.創(chuàng)建或選擇一個現(xiàn)有的數(shù)據(jù)工廠。

3.在數(shù)據(jù)工廠中,使用“數(shù)據(jù)流”或“復制數(shù)據(jù)”等模板創(chuàng)建活動。

4.配置源和接收器,選擇數(shù)據(jù)存儲類型。

5.設(shè)置數(shù)據(jù)管道的觸發(fā)器,如按時間表運行。

6.發(fā)布并運行數(shù)據(jù)管道。示例代碼:使用PythonSDK創(chuàng)建數(shù)據(jù)工廠#導入必要的庫

fromazure.identityimportDefaultAzureCredential

fromazure.mgmt.datafactoryimportDataFactoryManagementClient

#設(shè)置訂閱ID和資源組

subscription_id='your-subscription-id'

resource_group_name='your-resource-group'

factory_name='your-data-factory-name'

#獲取默認的Azure憑證

credential=DefaultAzureCredential()

#創(chuàng)建DataFactoryManagementClient實例

client=DataFactoryManagementClient(credential,subscription_id)

#創(chuàng)建數(shù)據(jù)工廠

data_factory=client.factories.create_or_update(

resource_group_name,

factory_name,

{

'location':'EastUS',

'tags':{

'environment':'dev'

}

}

)

#打印數(shù)據(jù)工廠的詳細信息

print(data_factory)2.1.3創(chuàng)建第一個數(shù)據(jù)工廠創(chuàng)建第一個數(shù)據(jù)工廠涉及以下步驟:創(chuàng)建資源:在Azure門戶中,選擇“創(chuàng)建資源”,搜索并選擇“數(shù)據(jù)工廠”。配置基礎(chǔ)信息:輸入數(shù)據(jù)工廠的名稱,選擇訂閱、資源組和位置。創(chuàng)建數(shù)據(jù)管道:在數(shù)據(jù)工廠中,使用“數(shù)據(jù)流”或“復制數(shù)據(jù)”等模板來創(chuàng)建數(shù)據(jù)管道。連接數(shù)據(jù)存儲:配置數(shù)據(jù)工廠與數(shù)據(jù)存儲之間的連接,如AzureBlob存儲、AzureSQL數(shù)據(jù)庫等。設(shè)置觸發(fā)器:定義數(shù)據(jù)管道的運行時間表,如每天運行一次。監(jiān)控與調(diào)試:使用ADF的監(jiān)控工具來查看數(shù)據(jù)管道的運行狀態(tài),調(diào)試任何錯誤。步驟詳解創(chuàng)建資源:在Azure門戶的“創(chuàng)建資源”界面,搜索“數(shù)據(jù)工廠”,點擊創(chuàng)建,填寫必要的信息。配置基礎(chǔ)信息:確保數(shù)據(jù)工廠的名稱是全局唯一的,選擇正確的訂閱和資源組,以及適合的數(shù)據(jù)中心位置。創(chuàng)建數(shù)據(jù)管道:在數(shù)據(jù)工廠的設(shè)計界面,使用拖放功能添加活動,如復制數(shù)據(jù)活動,然后配置源和接收器的詳細信息。連接數(shù)據(jù)存儲:在“鏈接服務(wù)”部分,添加數(shù)據(jù)存儲的連接信息,如服務(wù)器地址、數(shù)據(jù)庫名稱、用戶名和密碼。設(shè)置觸發(fā)器:在“觸發(fā)器”部分,定義數(shù)據(jù)管道的運行頻率和時間,如每天凌晨1點運行。監(jiān)控與調(diào)試:在“監(jiān)控”界面,可以查看數(shù)據(jù)管道的運行歷史,包括成功、失敗和正在運行的狀態(tài),以及詳細的日志信息。通過以上步驟,你可以創(chuàng)建并運行一個基本的數(shù)據(jù)工廠,實現(xiàn)數(shù)據(jù)的集成和處理。接下來,你可以進一步探索ADF的高級功能,如數(shù)據(jù)流、Wrangling數(shù)據(jù)流和自定義活動,以滿足更復雜的數(shù)據(jù)處理需求。3數(shù)據(jù)集成流程設(shè)計3.1數(shù)據(jù)源與接收器的連接在設(shè)計數(shù)據(jù)集成流程時,首先需要考慮的是如何連接數(shù)據(jù)源與接收器。AzureDataFactory(ADF)提供了豐富的連接器,可以與各種數(shù)據(jù)存儲進行交互,包括但不限于AzureBlobStorage,AzureSQLDatabase,SQLServer,Oracle,MongoDB,AmazonS3,和文件系統(tǒng)等。3.1.1連接器示例:AzureBlobStorage-**創(chuàng)建連接**:

1.在ADF中,導航至“管理”>“連接”。

2.點擊“新建”,選擇“AzureBlobStorage”。

3.輸入連接名稱,選擇認證方式(如使用共享訪問簽名SAS)。

4.輸入SASURL或存儲賬戶名稱和密鑰。

5.點擊“測試連接”以驗證連接是否成功。

6.最后,點擊“創(chuàng)建”以保存連接。3.1.2連接器示例:AzureSQLDatabase-**創(chuàng)建連接**:

1.在連接器列表中選擇“AzureSQLDatabase”。

2.輸入連接名稱,選擇認證方式(如使用SQL身份驗證)。

3.輸入服務(wù)器名稱、數(shù)據(jù)庫名稱、用戶名和密碼。

4.點擊“測試連接”以驗證連接是否成功。

5.點擊“創(chuàng)建”以保存連接。3.2數(shù)據(jù)流的創(chuàng)建與優(yōu)化數(shù)據(jù)流是ADF中用于轉(zhuǎn)換數(shù)據(jù)的主要工具,它允許你以圖形化的方式設(shè)計數(shù)據(jù)轉(zhuǎn)換邏輯,包括數(shù)據(jù)清洗、轉(zhuǎn)換和加載等操作。3.2.1創(chuàng)建數(shù)據(jù)流-**設(shè)計數(shù)據(jù)流**:

1.在ADF中,打開“數(shù)據(jù)流”選項。

2.從“源”拖拽一個數(shù)據(jù)源到畫布上。

3.添加轉(zhuǎn)換操作,如“選擇”、“過濾”、“聚合”等。

4.從“接收器”拖拽一個數(shù)據(jù)接收器到畫布上。

5.連接源、轉(zhuǎn)換和接收器,形成數(shù)據(jù)流。

6.配置每個節(jié)點的詳細參數(shù)。3.2.2優(yōu)化數(shù)據(jù)流優(yōu)化數(shù)據(jù)流的關(guān)鍵在于減少數(shù)據(jù)處理的延遲和提高數(shù)據(jù)處理的效率。以下是一些優(yōu)化策略:并行處理:利用ADF的并行處理能力,將數(shù)據(jù)流拆分為多個并行執(zhí)行的子流。數(shù)據(jù)壓縮:在數(shù)據(jù)傳輸過程中使用壓縮,減少網(wǎng)絡(luò)帶寬的使用。數(shù)據(jù)分區(qū):對于大數(shù)據(jù)集,使用分區(qū)可以提高讀寫速度。緩存策略:合理使用緩存,減少重復數(shù)據(jù)的讀取。3.3監(jiān)控與管理數(shù)據(jù)集成任務(wù)在數(shù)據(jù)集成任務(wù)的執(zhí)行過程中,監(jiān)控和管理是確保任務(wù)順利進行的關(guān)鍵。ADF提供了多種工具和功能來幫助你監(jiān)控和管理數(shù)據(jù)集成任務(wù)。3.3.1監(jiān)控數(shù)據(jù)集成任務(wù)-**使用ADF監(jiān)控**:

1.在ADF的“監(jiān)控”選項中,可以查看所有正在運行或已完成的管道和活動。

2.通過“活動監(jiān)控”可以查看每個活動的詳細狀態(tài),包括開始時間、結(jié)束時間、狀態(tài)和運行時長。

3.利用“警報”功能,可以設(shè)置當任務(wù)狀態(tài)發(fā)生變化時發(fā)送通知。3.3.2管理數(shù)據(jù)集成任務(wù)-**任務(wù)調(diào)度**:

1.在ADF中,可以使用“觸發(fā)器”來調(diào)度數(shù)據(jù)集成任務(wù)的執(zhí)行。

2.觸發(fā)器可以設(shè)置為定時執(zhí)行,如每天、每小時或每分鐘。

3.也可以設(shè)置為事件驅(qū)動,如當數(shù)據(jù)源中有新數(shù)據(jù)時自動觸發(fā)任務(wù)。

-**任務(wù)重試與恢復**:

1.在ADF的管道設(shè)置中,可以配置活動的重試策略,如重試次數(shù)和重試間隔。

2.對于失敗的任務(wù),可以手動或自動進行恢復,重新執(zhí)行失敗的活動。3.3.3示例:使用ADF監(jiān)控和管理數(shù)據(jù)集成任務(wù)假設(shè)你有一個從AzureBlobStorage讀取數(shù)據(jù),然后加載到AzureSQLDatabase的管道。你可以在ADF中創(chuàng)建一個觸發(fā)器,設(shè)置為每天凌晨執(zhí)行。同時,你還可以設(shè)置警報,當任務(wù)執(zhí)行失敗時,通過電子郵件通知你。在任務(wù)執(zhí)行過程中,你可以通過“活動監(jiān)控”查看每個活動的執(zhí)行狀態(tài),確保數(shù)據(jù)集成任務(wù)的順利進行。通過以上步驟,你可以有效地設(shè)計、創(chuàng)建和優(yōu)化數(shù)據(jù)集成流程,并利用ADF的監(jiān)控和管理功能確保數(shù)據(jù)集成任務(wù)的順利執(zhí)行。4數(shù)據(jù)集成最佳實踐4.1數(shù)據(jù)集成的安全性考量在數(shù)據(jù)集成過程中,安全性是至關(guān)重要的。數(shù)據(jù)可能包含敏感信息,如個人身份信息、財務(wù)數(shù)據(jù)或商業(yè)機密,因此必須采取措施確保數(shù)據(jù)在傳輸和存儲過程中的安全。AzureDataFactory提供了多種安全功能,包括:4.1.1數(shù)據(jù)加密AzureDataFactory支持在靜止狀態(tài)和傳輸過程中的數(shù)據(jù)加密。例如,使用AzureKeyVault管理的密鑰進行加密,可以確保數(shù)據(jù)在存儲時的安全。示例代碼//使用AzureKeyVault加密數(shù)據(jù)

usingAzure.Identity;

usingAzure.Security.KeyVault.Secrets;

varclient=newSecretClient(newUri("/"),newDefaultAzureCredential());

varsecret=client.GetSecret("your-secret-name");

varencryptionKey=secret.Value;4.1.2角色和權(quán)限通過AzureActiveDirectory(AAD)進行身份驗證和授權(quán),可以控制誰可以訪問AzureDataFactory的資源。例如,可以設(shè)置特定的用戶或組只能查看或修改特定的數(shù)據(jù)管道。4.1.3數(shù)據(jù)脫敏在數(shù)據(jù)集成過程中,可能需要對敏感數(shù)據(jù)進行脫敏處理,以保護個人隱私。AzureDataFactory支持使用自定義活動來實現(xiàn)數(shù)據(jù)脫敏。示例代碼--SQLServer數(shù)據(jù)脫敏示例

SELECT

LEFT(CustomerName,1)+REPLICATE('*',LEN(CustomerName)-1)ASMaskedCustomerName,

CreditCardNumber,

SUBSTRING(CreditCardNumber,1,6)+'XXXX'+SUBSTRING(CreditCardNumber,LEN(CreditCardNumber)-4,4)ASMaskedCreditCardNumber

FROM

Customers4.2性能調(diào)優(yōu)與資源管理數(shù)據(jù)集成的性能直接影響到數(shù)據(jù)處理的效率和成本。AzureDataFactory提供了多種工具和策略來優(yōu)化數(shù)據(jù)集成的性能。4.2.1并行處理通過并行執(zhí)行數(shù)據(jù)管道中的活動,可以顯著提高數(shù)據(jù)處理的速度。例如,可以使用“并行復制”功能來加速數(shù)據(jù)從源到目標的傳輸。4.2.2資源優(yōu)化合理配置AzureDataFactory的計算資源,如數(shù)據(jù)流的計算單元,可以提高數(shù)據(jù)處理的效率。例如,根據(jù)數(shù)據(jù)量和復雜性調(diào)整數(shù)據(jù)流的并行度。示例代碼{

"name":"DataFlow",

"properties":{

"type":"MappingDataFlow",

"typeProperties":{

"sources":[

{

"name":"source",

"properties":{

"schema":"",

"type":"AzureSqlSource"

}

}

],

"sinks":[

{

"name":"sink",

"properties":{

"schema":"",

"type":"AzureSqlSink"

}

}

],

"transformations":[],

"script":"",

"compute":{

"type":"General",

"properties":{

"cores":8,

"memoryInGB":16

}

}

}

}

}4.2.3數(shù)據(jù)壓縮在數(shù)據(jù)傳輸過程中使用壓縮技術(shù),可以減少數(shù)據(jù)傳輸?shù)臅r間和成本。例如,使用gzip或zlib等壓縮算法壓縮數(shù)據(jù)。4.3數(shù)據(jù)集成的自動化與調(diào)度自動化和調(diào)度是數(shù)據(jù)集成的關(guān)鍵組成部分,它們確保數(shù)據(jù)處理的連續(xù)性和可靠性。4.3.1觸發(fā)器AzureDataFactory的觸發(fā)器可以自動啟動數(shù)據(jù)管道,基于時間、數(shù)據(jù)到達或外部事件。例如,可以設(shè)置一個觸發(fā)器,每小時自動運行一次數(shù)據(jù)管道。示例代碼{

"name":"Trigger",

"properties":{

"type":"ScheduleTrigger",

"typeProperties":{

"recurrence":{

"frequency":"Hour",

"interv

溫馨提示

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

最新文檔

評論

0/150

提交評論