大數(shù)據(jù)管理與監(jiān)控:Cloudera Manager:Impala實時查詢引擎使用_第1頁
大數(shù)據(jù)管理與監(jiān)控:Cloudera Manager:Impala實時查詢引擎使用_第2頁
大數(shù)據(jù)管理與監(jiān)控:Cloudera Manager:Impala實時查詢引擎使用_第3頁
大數(shù)據(jù)管理與監(jiān)控:Cloudera Manager:Impala實時查詢引擎使用_第4頁
大數(shù)據(jù)管理與監(jiān)控:Cloudera Manager:Impala實時查詢引擎使用_第5頁
已閱讀5頁,還剩9頁未讀, 繼續(xù)免費閱讀

付費下載

下載本文檔

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

文檔簡介

大數(shù)據(jù)管理與監(jiān)控:ClouderaManager:Impala實時查詢引擎使用1Impala簡介1.11Impala的基本概念I(lǐng)mpala是Cloudera開發(fā)的一款開源的SQL查詢引擎,它直接在Hadoop的HDFS和HBase上運行,提供了與傳統(tǒng)數(shù)據(jù)庫類似的查詢性能,但同時保持了Hadoop的可擴展性和靈活性。Impala的設(shè)計目標是提供低延遲的查詢響應(yīng),使得用戶能夠?qū)崟r地分析存儲在Hadoop集群中的大規(guī)模數(shù)據(jù)集。1.1.1特點實時查詢:Impala能夠提供毫秒到秒級別的查詢響應(yīng)時間,適用于需要快速獲取結(jié)果的場景。SQL兼容性:Impala支持標準的SQL語法,使得Hadoop的使用更加直觀和易于上手。高性能:通過使用列式存儲和向量化執(zhí)行技術(shù),Impala能夠高效地處理大規(guī)模數(shù)據(jù)集的查詢??蓴U展性:Impala的設(shè)計允許它在大規(guī)模的Hadoop集群上運行,能夠處理PB級別的數(shù)據(jù)。與Hadoop生態(tài)系統(tǒng)的集成:Impala可以無縫地與Hadoop生態(tài)系統(tǒng)中的其他組件(如HDFS、HBase、Kudu等)協(xié)同工作。1.22Impala與Hive的區(qū)別Impala和Hive都是在Hadoop生態(tài)系統(tǒng)中用于數(shù)據(jù)查詢的工具,但它們之間存在一些關(guān)鍵的區(qū)別:查詢引擎:Hive使用MapReduce作為其查詢引擎,而Impala使用MPP(大規(guī)模并行處理)架構(gòu),類似于傳統(tǒng)的關(guān)系型數(shù)據(jù)庫。查詢性能:由于Impala的MPP架構(gòu)和向量化執(zhí)行,它通常能夠提供比Hive更快的查詢響應(yīng)時間。數(shù)據(jù)存儲格式:Hive支持多種數(shù)據(jù)存儲格式,包括文本、序列文件和Parquet等,而Impala更傾向于使用列式存儲格式,如Parquet和Kudu,以提高查詢性能。實時性:Impala更適合實時查詢和分析,而Hive更適合批處理和長時間運行的查詢?nèi)蝿?wù)。1.2.1示例:Impala與Hive的查詢性能對比假設(shè)我們有一個存儲在HDFS上的數(shù)據(jù)集,包含數(shù)百萬條記錄,我們想要查詢其中的平均值。Hive查詢--Hive查詢示例

SELECTAVG(salary)FROMemployees;Impala查詢--Impala查詢示例

SELECTAVG(salary)FROMemployees;雖然查詢語句相同,但Impala的查詢通常會比Hive快幾個數(shù)量級,這主要得益于其MPP架構(gòu)和列式存儲的優(yōu)化。1.33Impala的架構(gòu)與組件Impala的架構(gòu)主要由以下幾個組件構(gòu)成:Impalad:這是Impala的執(zhí)行節(jié)點,運行在Hadoop集群的每個節(jié)點上。Impalad負責執(zhí)行查詢計劃的各個部分,并將結(jié)果返回給客戶端。Statestore:Statestore是一個服務(wù),用于監(jiān)控Impalad的狀態(tài)和健康情況,確保查詢能夠在集群中正確地調(diào)度和執(zhí)行。Catalogservice:Catalogservice維護了所有元數(shù)據(jù)信息,包括表結(jié)構(gòu)、分區(qū)信息和數(shù)據(jù)位置等。當用戶執(zhí)行查詢時,Impala會從Catalogservice獲取所需的元數(shù)據(jù)。1.3.1Impalad的執(zhí)行流程查詢接收:客戶端(如Impala-shell)將SQL查詢發(fā)送給任意一個Impalad。查詢解析:接收到查詢的Impalad會解析SQL語句,生成邏輯查詢計劃。查詢優(yōu)化:邏輯查詢計劃會被優(yōu)化,生成物理查詢計劃,這個過程包括選擇最佳的查詢策略和數(shù)據(jù)訪問路徑。查詢執(zhí)行:物理查詢計劃被分發(fā)到集群中的其他Impalad,每個Impalad執(zhí)行其分配到的查詢部分。結(jié)果匯總:查詢結(jié)果在Impalad之間進行匯總,最終結(jié)果被返回給客戶端。1.3.2示例:Impala查詢執(zhí)行流程假設(shè)我們有以下SQL查詢:--查詢示例

SELECTCOUNT(*)FROMemployeesWHEREdepartment='Sales';客戶端:使用Impala-shell發(fā)送查詢。Impalad:解析查詢,生成邏輯查詢計劃。優(yōu)化:邏輯查詢計劃被優(yōu)化,生成物理查詢計劃,可能包括數(shù)據(jù)過濾和并行掃描。執(zhí)行:物理查詢計劃被分發(fā)到集群中的Impalad節(jié)點,每個節(jié)點執(zhí)行其分配到的查詢部分。匯總:查詢結(jié)果在Impalad之間進行匯總,最終結(jié)果被返回給Impala-shell。通過以上流程,Impala能夠高效地處理大規(guī)模數(shù)據(jù)集的查詢,提供實時的分析能力。2ClouderaManager安裝與配置Impala2.11使用ClouderaManager安裝Impala在ClouderaManager中安裝Impala實時查詢引擎涉及以下幾個步驟:添加Impala倉庫:確保ClouderaManager可以訪問Impala的軟件倉庫。這通常在ClouderaManager的倉庫管理界面中完成,通過添加Impala的CDH版本倉庫鏈接。創(chuàng)建Impala服務(wù):在ClouderaManager的“服務(wù)”界面中,選擇“添加服務(wù)”,然后從列表中選擇Impala。這將啟動Impala服務(wù)的安裝向?qū)?。配置Impala服務(wù):在安裝向?qū)е?,配置Impala服務(wù)的詳細信息,包括服務(wù)名稱、Impala狀態(tài)服務(wù)器和Impala守護進程的主機分配。安裝Impala服務(wù):完成配置后,點擊“安裝”按鈕,ClouderaManager將自動在指定的主機上安裝Impala服務(wù)。啟動Impala服務(wù):安裝完成后,返回“服務(wù)”界面,找到Impala服務(wù),點擊“啟動”按鈕以啟動服務(wù)。檢查Impala狀態(tài):在ClouderaManager的“服務(wù)”界面中,可以查看Impala服務(wù)的狀態(tài),確保所有組件都已成功啟動。2.1.1示例:通過ClouderaManager安裝Impala假設(shè)你已經(jīng)登錄到ClouderaManager的Web界面,以下是安裝Impala的步驟:添加倉庫:在ClouderaManager的“倉庫”界面中,點擊“添加倉庫”,輸入CDH版本的倉庫URL。創(chuàng)建服務(wù):在“服務(wù)”界面中,點擊“添加服務(wù)”,選擇Impala,然后點擊“繼續(xù)”。配置服務(wù):在配置界面中,設(shè)置服務(wù)名稱為“impala”,選擇狀態(tài)服務(wù)器和守護進程的主機。安裝服務(wù):點擊“安裝”按鈕,等待安裝過程完成。啟動服務(wù):安裝完成后,返回“服務(wù)”界面,找到“impala”服務(wù),點擊“啟動”。檢查狀態(tài):在“服務(wù)”界面中,確認“impala”服務(wù)的狀態(tài)為“運行中”。2.22配置Impala服務(wù)配置Impala服務(wù)包括設(shè)置Impala的性能參數(shù)、安全性和與其他Hadoop組件的集成。以下是一些關(guān)鍵的配置步驟:性能參數(shù):調(diào)整Impala的內(nèi)存使用、查詢超時和并行度等參數(shù),以優(yōu)化查詢性能。安全性:如果使用Kerberos進行身份驗證,需要配置Impala以支持Kerberos。這包括設(shè)置KDC信息、生成密鑰文件和配置Impala守護進程的安全策略。集成HDFS和Hive:Impala需要與HDFS和Hive服務(wù)集成,以訪問數(shù)據(jù)和元數(shù)據(jù)。確保Impala可以訪問Hive的元數(shù)據(jù)倉庫,并且HDFS的權(quán)限設(shè)置正確。2.2.1示例:配置Impala性能參數(shù)在ClouderaManager中,可以調(diào)整Impala的性能參數(shù)。例如,增加Impala守護進程的內(nèi)存分配:#在ClouderaManager中,導航到Impala服務(wù)的配置界面

#找到“ImpalaDaemonConfiguration”部分

#修改“impalad_mem_limit”參數(shù),將其從默認值增加到更大的值,例如10GB

impalad_mem_limit:10GB2.2.2示例:配置Impala安全性如果使用Kerberos,需要在ClouderaManager中配置Impala的安全性:#在ClouderaManager中,導航到Impala服務(wù)的配置界面

#找到“Security”部分

#配置“kerberos_principal”和“kerberos_keytab”參數(shù)

kerberos_principal:impala/@EXAMPLE.COM

kerberos_keytab:/etc/krb5.keytab2.33驗證Impala安裝驗證Impala的安裝是否成功,可以通過以下步驟進行:檢查服務(wù)狀態(tài):在ClouderaManager的“服務(wù)”界面中,確認Impala服務(wù)的狀態(tài)為“運行中”。運行示例查詢:使用Impalashell或ImpalaJDBC驅(qū)動程序,嘗試運行一些示例查詢,以確保Impala可以正確地訪問HDFS和Hive中的數(shù)據(jù)。檢查日志文件:查看Impala守護進程的日志文件,確認沒有錯誤或警告信息。2.3.1示例:使用Impalashell運行示例查詢假設(shè)Impala已經(jīng)安裝并運行,可以使用Impalashell來運行示例查詢:#打開Impalashell

impala-shell

#運行示例查詢,例如查詢Hive中的一個表

impala-shell>SELECT*FROMhive.example_tableLIMIT10;如果查詢成功返回結(jié)果,說明Impala的安裝和配置是正確的。以上步驟和示例提供了使用ClouderaManager安裝、配置和驗證Impala實時查詢引擎的基本流程。根據(jù)具體環(huán)境和需求,可能需要進一步調(diào)整配置參數(shù)和安全設(shè)置。3Impala數(shù)據(jù)管理3.11創(chuàng)建與管理Impala表在ClouderaManager中使用Impala實時查詢引擎,創(chuàng)建和管理表是數(shù)據(jù)管理的基礎(chǔ)。Impala支持多種表類型,包括普通表、分區(qū)表、外部表等,下面將詳細介紹如何創(chuàng)建這些表。3.1.1創(chuàng)建普通表--創(chuàng)建一個普通表

CREATETABLEIFNOTEXISTSusers(

idINT,

nameSTRING,

ageINT,

emailSTRING

)STOREDASPARQUET;此代碼創(chuàng)建了一個名為users的表,包含id、name、age和email四個字段,數(shù)據(jù)存儲格式為Parquet。3.1.2創(chuàng)建分區(qū)表分區(qū)表可以提高查詢性能,尤其是對于大數(shù)據(jù)集。例如,按年份分區(qū)銷售數(shù)據(jù):--創(chuàng)建一個按年份分區(qū)的表

CREATETABLEIFNOTEXISTSsales(

idINT,

productSTRING,

amountINT,

sale_dateDATE

)

PARTITIONEDBY(yearINT)

STOREDASPARQUET;這里,sales表被按year字段分區(qū),數(shù)據(jù)同樣存儲為Parquet格式。3.1.3管理表添加列:--向users表添加一個新列

ALTERTABLEusersADDCOLUMNS(addressSTRING);刪除列:--從users表刪除email列

ALTERTABLEusersDROPCOLUMNemail;重命名表:--將users表重命名為user_info

ALTERTABLEusersRENAMETOuser_info;3.22數(shù)據(jù)導入與導出3.2.1導入數(shù)據(jù)數(shù)據(jù)可以從HDFS、S3或其他存儲系統(tǒng)導入到Impala表中。使用LOADDATA語句可以將數(shù)據(jù)文件加載到表中:--將HDFS上的數(shù)據(jù)文件導入到sales表

LOADDATAINPATH'/data/sales/year=2020/*'INTOTABLEsalesPARTITION(year=2020);此命令將HDFS中/data/sales/year=2020/目錄下的所有文件加載到sales表的year=2020分區(qū)中。3.2.2導出數(shù)據(jù)數(shù)據(jù)也可以從Impala表導出到HDFS或其他存儲系統(tǒng)。使用INSERTINTO或INSERTOVERWRITE語句可以實現(xiàn):--將sales表中的數(shù)據(jù)導出到HDFS

INSERTOVERWRITEDIRECTORY'/data/exported_sales/year=2020'SELECT*FROMsalesWHEREyear=2020;此命令將sales表中year=2020的數(shù)據(jù)導出到HDFS的/data/exported_sales/year=2020目錄下。3.33數(shù)據(jù)類型與分區(qū)3.3.1數(shù)據(jù)類型Impala支持多種數(shù)據(jù)類型,包括基本類型如INT、STRING、DATE,以及復雜類型如ARRAY、MAP和STRUCT。例如:--創(chuàng)建一個包含復雜數(shù)據(jù)類型的表

CREATETABLEIFNOTEXISTScomplex_data(

idINT,

detailsSTRUCT<name:STRING,age:INT>,

tagsARRAY<STRING>,

metadataMAP<STRING,STRING>

)STOREDASPARQUET;3.3.2分區(qū)策略分區(qū)可以基于一個或多個字段進行,以優(yōu)化查詢性能。例如,基于year和month字段進行分區(qū):--創(chuàng)建一個按年份和月份分區(qū)的表

CREATETABLEIFNOTEXISTSmonthly_sales(

idINT,

productSTRING,

amountINT,

sale_dateDATE

)

PARTITIONEDBY(yearINT,monthINT)

STOREDASPARQUET;在插入數(shù)據(jù)時,需要指定分區(qū)字段的值:--向monthly_sales表插入數(shù)據(jù)

INSERTINTOTABLEmonthly_salesPARTITION(year=2020,month=1)

SELECT*FROMsalesWHEREyear=2020ANDmonth=1;分區(qū)策略的選擇應(yīng)基于數(shù)據(jù)的分布和查詢模式,以實現(xiàn)最佳性能。以上內(nèi)容詳細介紹了在ClouderaManager中使用Impala實時查詢引擎進行數(shù)據(jù)管理的基本操作,包括創(chuàng)建和管理表、數(shù)據(jù)的導入與導出,以及數(shù)據(jù)類型和分區(qū)策略的使用。通過這些操作,可以有效地管理和查詢大數(shù)據(jù)集,提高數(shù)據(jù)處理的效率和性能。4使用Impala進行實時查詢4.11SQL查詢基礎(chǔ)在使用Impala進行實時查詢時,掌握SQL查詢基礎(chǔ)至關(guān)重要。Impala支持標準SQL語法,使得數(shù)據(jù)查詢和分析變得直觀且高效。4.1.1示例:基本查詢--選擇表中的所有列

SELECT*FROMsales;

--選擇特定列

SELECTproduct_name,sales_amountFROMsales;

--使用WHERE子句過濾數(shù)據(jù)

SELECT*FROMsalesWHEREsales_date>'2023-01-01';

--使用GROUPBY進行聚合

SELECTproduct_name,SUM(sales_amount)FROMsalesGROUPBYproduct_name;

--使用ORDERBY排序結(jié)果

SELECT*FROMsalesORDERBYsales_amountDESC;4.1.2示例:連接查詢連接查詢允許從多個表中檢索數(shù)據(jù)。--內(nèi)連接

SELECTduct_name,c.customer_name

FROMsaless

INNERJOINcustomerscONs.customer_id=c.customer_id;

--左連接

SELECTduct_name,c.customer_name

FROMsaless

LEFTJOINcustomerscONs.customer_id=c.customer_id;4.22實時查詢性能優(yōu)化Impala的實時查詢性能可以通過以下策略進行優(yōu)化:4.2.1數(shù)據(jù)分區(qū)通過數(shù)據(jù)分區(qū),可以減少查詢時需要掃描的數(shù)據(jù)量。--創(chuàng)建分區(qū)表

CREATETABLEsales(

product_nameSTRING,

sales_amountINT,

sales_dateDATE

)

PARTITIONEDBY(sales_date);4.2.2使用壓縮壓縮數(shù)據(jù)可以減少I/O操作,從而提高查詢速度。--創(chuàng)建壓縮表

CREATETABLEsales(

product_nameSTRING,

sales_amountINT,

sales_dateDATE

)

STOREDASPARQUET;4.2.3選擇合適的文件格式Parquet和ORC等列式存儲格式可以提高查詢性能。--使用Parquet格式

CREATETABLEsales(

product_nameSTRING,

sales_amountINT,

sales_dateDATE

)

STOREDASPARQUET;4.2.4使用緩存Impala可以緩存查詢結(jié)果,以減少重復查詢的執(zhí)行時間。--創(chuàng)建緩存表

CREATETABLEsales_cacheASSELECT*FROMsales;4.33使用Impala進行復雜查詢Impala支持復雜的SQL查詢,包括子查詢、窗口函數(shù)和復雜聚合。4.3.1示例:子查詢子查詢可以在一個查詢中嵌套另一個查詢。--使用子查詢

SELECTproduct_name,sales_amount

FROMsales

WHEREsales_amount>(SELECTAVG(sales_amount)FROMsales);4.3.2示例:窗口函數(shù)窗口函數(shù)可以在一組行上執(zhí)行計算,而無需進行子查詢或自連接。--使用窗口函數(shù)

SELECTproduct_name,sales_amount,

AVG(sales_amount)OVER(PARTITIONBYproduct_name)ASavg_sales

FROMsales;4.3.3示例:復雜聚合Impala支持多種聚合函數(shù),可以進行復雜的統(tǒng)計分析。--復雜聚合

SELECTproduct_name,

SUM(sales_amount)AStotal_sales,

COUNT(DISTINCTsales_date)ASunique_sales_days

FROMsales

GROUPBYproduct_name;通過上述策略和示例,可以有效地使用Impala進行實時查詢,同時優(yōu)化查詢性能,處理復雜的數(shù)據(jù)分析需求。5Impala監(jiān)控與管理5.11監(jiān)控Impala性能Impala作為ClouderaManager中的實時查詢引擎,其性能監(jiān)控是確保大數(shù)據(jù)分析高效運行的關(guān)鍵。ClouderaManager提供了豐富的工具和界面來監(jiān)控Impala的運行狀態(tài)和性能指標。5.1.11使用ClouderaManager界面監(jiān)控Impala服務(wù)頁面:在ClouderaManager的界面中,可以訪問Impala服務(wù)的詳細信息,包括CPU使用率、內(nèi)存使用情況、磁盤I/O等關(guān)鍵性能指標。Impala狀態(tài)頁面:提供了Impala查詢的實時狀態(tài),包括正在運行的查詢、查詢歷史、查詢性能統(tǒng)計等。5.1.22使用ImpalaShell監(jiān)控ImpalaShell是一個命令行工具,可以用來執(zhí)行SQL查詢和監(jiān)控Impala狀態(tài)。例如,使用SHOWQUERYSTATEMENTS;命令可以查看當前正在運行的所有查詢的狀態(tài)。--使用ImpalaShell查看當前運行的查詢

SHOWQUERYSTATEMENTS;5.1.33使用ImpalaMetricsImpala支持通過JMX接口暴露其內(nèi)部的性能指標,這些指標可以被監(jiān)控工具如Ganglia、Nagios等收集和分析。例如,impala_state_store服務(wù)的impala_state_store.query_cache_hits指標可以用來監(jiān)控查詢緩存的命中率。5.22Impala故障排查在大數(shù)據(jù)環(huán)境中,Impala可能會遇到各種故障,有效的故障排查策略是保持系統(tǒng)穩(wěn)定運行的必要條件。5.2.11日志分析Impala日志:Impala的日志文件包含了詳細的運行信息和錯誤信息,是故障排查的第一手資料。通常,日志文件位于/var/log/impala目錄下。使用ClouderaManager查看日志:ClouderaManager提供了查看和搜索日志的功能,可以幫助快速定位問題。5.2.22使用ImpalaShell查詢執(zhí)行計劃:使用EXPLAIN命令可以查看查詢的執(zhí)行計劃,幫助理解查詢的執(zhí)行流程,從而定位可能的性能瓶頸或錯誤。查詢狀態(tài):SHOWQUERYSTATEMENTS;命令可以顯示當前所有查詢的狀態(tài),包括查詢ID、狀態(tài)、執(zhí)行時間等,對于追蹤和排查長時間運行或失敗的查詢非常有用。--使用ImpalaShell查看查詢執(zhí)行計劃

EXPLAINSELECT*FROMtable_nameLIMIT10;5.2.33使用ClouderaManager的警報和通知ClouderaManager可以設(shè)置警報,當Impala的性能指標超出預設(shè)閾值時,會自動發(fā)送通知,幫助及時發(fā)現(xiàn)和處理問題。5.33Impala資源管理Impala的資源管理包括對CPU、內(nèi)存、磁盤I/O等資源的分配和優(yōu)化,以確保查詢的高效執(zhí)行。5.3.11配置Impala資源限制在ClouderaManager中,可以配置Impala的資源限制,例如,設(shè)置每個查詢的最大內(nèi)存使用量,以防止資源耗盡。#在ClouderaManager中配置Impala資源限制

#設(shè)置每個查詢的最大內(nèi)存使用量為1GB

impala_state_store.query_mem_limit=10737418245.3.22使用Impala的資源池Impala支持資源池的概念,可以將資源分配給不同的查詢或用戶,以實現(xiàn)資源的公平分配和優(yōu)先級管理。--創(chuàng)建資源池

CREATERESOURCEPOOLIFNOTEXISTSmy_poolWITHSCHEDULING_POOL='my_pool';

--將查詢分配給特定資源池

SETSCHEDULING_POOL='my_pool';5.3.33監(jiān)控資源使用情況通過ClouderaManager的界面或ImpalaShell,可以監(jiān)控資源的使用情況,包括CPU、內(nèi)存、磁盤I/O等,以確保資源的合理分配和使用。--使用ImpalaShell查看資源使用情況

SHOWQUERYSTATEMENTS;通過上述方法,可以有效地監(jiān)控和管理Impala的性能,及時發(fā)現(xiàn)和解決故障,合理分配和優(yōu)化資源,從而確保大數(shù)據(jù)分析的高效和穩(wěn)定運行。6最佳實踐與案例分析6.11Impala在企業(yè)級應(yīng)用中的最佳實踐在企業(yè)級應(yīng)用中,Impala作為ClouderaManager的一部分,提供了高性能的SQL查詢能力,適用于大規(guī)模數(shù)據(jù)集的實時分析。以下是一些使用Impala的最佳實踐:6.1.1數(shù)據(jù)存儲優(yōu)化使用Parquet格式:Parquet是一種列式存儲格式,非常適合Impala的查詢優(yōu)化。它支持壓縮,可以減少存儲空間,同時提高查詢速度。數(shù)據(jù)分區(qū):通過分區(qū),可以減少掃描的數(shù)據(jù)量,提高查詢效率。例如,如果數(shù)據(jù)按日期分區(qū),查詢特定日期的數(shù)據(jù)將更快。6.1.2查詢優(yōu)化使用索引:雖然Impala不支持傳統(tǒng)的

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 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

提交評論