《數(shù)據(jù)科學(xué)與工程導(dǎo)論》課件-08 大數(shù)據(jù)系統(tǒng)_第1頁(yè)
《數(shù)據(jù)科學(xué)與工程導(dǎo)論》課件-08 大數(shù)據(jù)系統(tǒng)_第2頁(yè)
《數(shù)據(jù)科學(xué)與工程導(dǎo)論》課件-08 大數(shù)據(jù)系統(tǒng)_第3頁(yè)
《數(shù)據(jù)科學(xué)與工程導(dǎo)論》課件-08 大數(shù)據(jù)系統(tǒng)_第4頁(yè)
《數(shù)據(jù)科學(xué)與工程導(dǎo)論》課件-08 大數(shù)據(jù)系統(tǒng)_第5頁(yè)
已閱讀5頁(yè),還剩62頁(yè)未讀 繼續(xù)免費(fèi)閱讀

付費(fèi)下載

下載本文檔

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

文檔簡(jiǎn)介

數(shù)據(jù)科學(xué)與工程導(dǎo)論IntroductiontoDataScienceandEngineering開篇實(shí)例用公交卡追蹤小偷?Du,Bowen,etal."Catchmeifyoucan:Detectingpickpocketsuspectsfromlarge-scaletransitrecords."Proceedingsofthe22ndACMSIGKDDinternationalconferenceonknowledgediscoveryanddatamining.2016.大數(shù)據(jù)的基本概念Hadoop和Spark生態(tài)SQL與Hadoop的組合123第8章

大數(shù)據(jù)系統(tǒng)大數(shù)據(jù)系統(tǒng)的發(fā)展與未來(lái)48.1大數(shù)據(jù)的基本概念數(shù)字地球

8.1大數(shù)據(jù)的基本概念大數(shù)據(jù)背后的驅(qū)動(dòng)力摩爾定律信息革命指數(shù)增長(zhǎng)大爆炸奇點(diǎn)臨近技術(shù)將會(huì)逼近人類歷史上的某種本質(zhì)的奇點(diǎn)在那之后全部人類行為都不可能以我們熟悉的面貌繼續(xù)存在。8.1大數(shù)據(jù)的基本概念大數(shù)據(jù)誕生的歷史2008BigData??疘T企業(yè)研究報(bào)告科學(xué)研究“第四范式”2011-2015“十二五”規(guī)劃2012美國(guó)重大研究計(jì)劃2011DealingwithData專刊8.1大數(shù)據(jù)的基本概念大數(shù)據(jù)的不同定義多維度:特征維度多完備性:全面性,全局?jǐn)?shù)據(jù)關(guān)聯(lián)性:數(shù)據(jù)間的關(guān)聯(lián)性不確定性:數(shù)據(jù)的真實(shí)性難以確定,含有噪音本質(zhì)特征8.1大數(shù)據(jù)的基本概念大數(shù)據(jù)的其他特征體量大:4V中的Volume類型多:結(jié)構(gòu)化、半結(jié)構(gòu)化和非結(jié)構(gòu)化來(lái)源廣:數(shù)據(jù)來(lái)源廣泛及時(shí)性:4V中的Velocity積累久:長(zhǎng)期積累與存儲(chǔ)在線性:隨時(shí)能調(diào)用和計(jì)算價(jià)值密度低:大量的數(shù)據(jù)中真正有價(jià)值的少最終價(jià)值大:最終帶來(lái)的價(jià)值大8.1大數(shù)據(jù)的基本概念大數(shù)據(jù)的技術(shù)簡(jiǎn)史Google大數(shù)據(jù)技術(shù)演化大數(shù)據(jù)的基本概念Hadoop和Spark生態(tài)SQL與Hadoop的組合123第8章

大數(shù)據(jù)系統(tǒng)大數(shù)據(jù)系統(tǒng)的發(fā)展與未來(lái)48.2Hadoop和Spark生態(tài)大數(shù)據(jù)是數(shù)據(jù)庫(kù)的自然延伸數(shù)據(jù)庫(kù)界從一開始就探索過(guò)大數(shù)據(jù)場(chǎng)景,但是過(guò)于保守忘不掉ACID,舍不得Relation,忽視實(shí)際應(yīng)用沉浸在自己的世界里空值理論(NullValue),泛關(guān)系(UniversalRelation)數(shù)據(jù)庫(kù)設(shè)計(jì)的范式理論(FD,MVD,4NF,5NF,……)潛意識(shí)地奉行“一招鮮”(OneSizeFitsAll,OSFA)Hadoop+HDFS+HBase響亮一擊回到起點(diǎn)來(lái)考慮數(shù)據(jù)管理問(wèn)題,豁然開朗8.2Hadoop和Spark生態(tài)大數(shù)據(jù)技術(shù)生態(tài)由于大數(shù)據(jù)要處理大量、非結(jié)構(gòu)化的數(shù)據(jù),所以在各處理環(huán)節(jié)中都可以采用并行處理。目前,Hadoop、MapReduce和Spark等分布式處理方式已經(jīng)成為大數(shù)據(jù)處理各環(huán)節(jié)的通用處理方法。8.2Hadoop和Spark生態(tài)Hadoop生態(tài)系統(tǒng)存儲(chǔ)計(jì)算資源管理8.2Hadoop和Spark生態(tài)從數(shù)據(jù)存儲(chǔ)與管理角度看大數(shù)據(jù)系統(tǒng)分布式文件系統(tǒng)GFS,HDFSNoSQL數(shù)據(jù)庫(kù)鍵值(key-value)存儲(chǔ)數(shù)據(jù)庫(kù):Dynamo列式存儲(chǔ)數(shù)據(jù)庫(kù):BigTable、HBase文檔存儲(chǔ)數(shù)據(jù)庫(kù):MongoDB8.2Hadoop和Spark生態(tài)分布式文件系統(tǒng)分布式文件系統(tǒng)(DistributedFileSystem)是指文件系統(tǒng)管理的物理存儲(chǔ)資源不一定直接連接在本地節(jié)點(diǎn),而是通過(guò)計(jì)算機(jī)網(wǎng)絡(luò)與節(jié)點(diǎn)相連。Google為大型分布式數(shù)據(jù)密集型應(yīng)用實(shí)現(xiàn)了一個(gè)可擴(kuò)展的分布式文件系統(tǒng)GoogleFileSystem(GFS),運(yùn)行在廉價(jià)的商用服務(wù)器上,為大量用戶提供容錯(cuò)和高性能服務(wù)。HadoopDistributedFileSystem(HDFS)是GFS的開源版本。Microsoft開發(fā)了Cosmos支持其搜索和廣告業(yè)務(wù)。Facebook實(shí)現(xiàn)了Haystack存儲(chǔ)海量的小照片。淘寶設(shè)計(jì)了兩種小文件分布式文件系統(tǒng):TFS和FastFS。8.2Hadoop和Spark生態(tài)GoogleFileSystemGFS是一個(gè)可擴(kuò)展的分布式文件系統(tǒng),用于大型的、分布式的、對(duì)大量數(shù)據(jù)進(jìn)行訪問(wèn)的應(yīng)用。它運(yùn)行于廉價(jià)的普通硬件上,將服務(wù)器故障視為正?,F(xiàn)象,通過(guò)軟件的方式自動(dòng)容錯(cuò),在保證系統(tǒng)可靠性和可用性的同時(shí),大大減少了系統(tǒng)的成本。系統(tǒng)分為三類角色:Master(主服務(wù)器)ChunkServer(數(shù)據(jù)塊服務(wù)器)。Client(客戶端)8.2Hadoop和Spark生態(tài)Hadoop分布式文件系統(tǒng)Hadoop是一個(gè)分布式系統(tǒng)基礎(chǔ)架構(gòu),由Apache基金會(huì)開發(fā)。用戶可以在不了解分布式底層細(xì)節(jié)的情況下,開發(fā)分布式程序,充分利用集群的威力高速運(yùn)算和存儲(chǔ)。Hadoop實(shí)現(xiàn)了一個(gè)分布式文件系統(tǒng)(HadoopDistributedFileSystem),簡(jiǎn)稱HDFS。HDFS有著高容錯(cuò)性的特點(diǎn),并且設(shè)計(jì)用來(lái)部署在低廉的硬件上。HDFS集群包含:一個(gè)主節(jié)點(diǎn)(NameNode)多個(gè)從屬節(jié)點(diǎn)(DataNodes)多個(gè)客戶端訪問(wèn)8.2Hadoop和Spark生態(tài)鍵值存儲(chǔ)數(shù)據(jù)庫(kù)鍵值存儲(chǔ)是一種簡(jiǎn)單的數(shù)據(jù)存儲(chǔ)模型,數(shù)據(jù)以鍵值對(duì)的形式儲(chǔ)存,鍵是唯一的。典型實(shí)例:Amazon公司的Dynamo。在Dynamo中,數(shù)據(jù)被分割存Dynamo儲(chǔ)在不同的服務(wù)器集群中,并復(fù)制為多個(gè)副本??蓴U(kuò)展性和持久性(durability)依賴于以下兩個(gè)關(guān)鍵機(jī)制:分割和復(fù)制對(duì)象版本管理8.2Hadoop和Spark生態(tài)列式存儲(chǔ)數(shù)據(jù)庫(kù)列式存儲(chǔ)數(shù)據(jù)庫(kù)以列存儲(chǔ)架構(gòu)進(jìn)行存儲(chǔ)和處理數(shù)據(jù),主要適合于批量數(shù)據(jù)處理和實(shí)時(shí)查詢。BigTable是Google公司設(shè)計(jì)的一種列式存儲(chǔ)系統(tǒng),基本的數(shù)據(jù)結(jié)構(gòu)是一個(gè)稀疏的、分布式的、持久化存儲(chǔ)的多維度排序映射(map),映射由行鍵、列鍵和時(shí)間戳構(gòu)成。BigTable的設(shè)計(jì)目的是可靠地處理PB級(jí)別的數(shù)據(jù),并且能夠部署到上千臺(tái)機(jī)器上。BigTable已經(jīng)在超過(guò)60個(gè)Google的產(chǎn)品和項(xiàng)目上得到了應(yīng)用,包括GoogleAnalytics、GoogleEarth等。8.2Hadoop和Spark生態(tài)HBaseHBase是GoogleBigTable的一種開源實(shí)現(xiàn),它提供了稀疏、分布式、面向列的表存儲(chǔ)。在HBase中,每個(gè)值都按照三元組(行、列和時(shí)間戳)的形式進(jìn)行索引。8.2Hadoop和Spark生態(tài)分布式文檔存儲(chǔ)數(shù)據(jù)庫(kù):MongoDB文檔數(shù)據(jù)庫(kù)能夠支持比鍵值存儲(chǔ)復(fù)雜得多的數(shù)據(jù)結(jié)構(gòu)。它們的數(shù)據(jù)模型和JSON對(duì)象類似,不同文檔存儲(chǔ)系統(tǒng)的區(qū)別在于數(shù)據(jù)復(fù)制和一致性機(jī)制方面。MongoDB由C++語(yǔ)言編寫,旨在為Web應(yīng)用提供可擴(kuò)展的高性能數(shù)據(jù)存儲(chǔ)解決方案。是一個(gè)介于關(guān)系數(shù)據(jù)庫(kù)和非關(guān)系數(shù)據(jù)庫(kù)之間的產(chǎn)品,是非關(guān)系數(shù)據(jù)庫(kù)當(dāng)中功能最豐富,最像關(guān)系數(shù)據(jù)庫(kù)的。8.2Hadoop和Spark生態(tài)MapReduce:產(chǎn)生背景MapReduce這種并行編程模式思想最早是在1995年提出的。與傳統(tǒng)的分布式程序設(shè)計(jì)相比,MapReduce封裝了并行處理、容錯(cuò)處理、本地化計(jì)算、負(fù)載均衡等細(xì)節(jié),還提供了一個(gè)簡(jiǎn)單而強(qiáng)大的接口。MapReduce把對(duì)數(shù)據(jù)集的大規(guī)模操作,分發(fā)給一個(gè)主節(jié)點(diǎn)管理下的各分節(jié)點(diǎn)共同完成,通過(guò)這種方式實(shí)現(xiàn)任務(wù)的可靠執(zhí)行與容錯(cuò)機(jī)制。8.2Hadoop和Spark生態(tài)MapReduce:編程模型8.2Hadoop和Spark生態(tài)MapReduce:編程模型8.2Hadoop和Spark生態(tài)MapReduce:實(shí)現(xiàn)機(jī)制(1)MapReduce函數(shù)首先把輸入文件分成M塊(2)分派的執(zhí)行程序中有一個(gè)主控程序Master(3)一個(gè)被分配了Map任務(wù)的Worker讀取并處理相關(guān)的輸入塊(4)這些緩沖到內(nèi)存的中間結(jié)果將被定時(shí)寫到本地硬盤,這些數(shù)據(jù)通過(guò)分區(qū)函數(shù)分成R個(gè)區(qū)(5)當(dāng)Master通知執(zhí)行Reduce的Worker關(guān)于中間<key,value>對(duì)的位置時(shí),它調(diào)用遠(yuǎn)程過(guò)程,從MapWorker的本地硬盤上讀取緩沖的中間數(shù)據(jù)(6)ReduceWorker根據(jù)每一個(gè)唯一中間key來(lái)遍歷所有的排序后的中間數(shù)據(jù),并且把key和相關(guān)的中間結(jié)果值集合傳遞給用戶定義的Reduce函數(shù)(7)當(dāng)所有的Map任務(wù)和Reduce任務(wù)都完成的時(shí)候,Master激活用戶程序8.2Hadoop和Spark生態(tài)MapReduce:容錯(cuò)機(jī)制8.2Hadoop和Spark生態(tài)Spark:簡(jiǎn)介快速、分布式、可擴(kuò)展、容錯(cuò)的集群計(jì)算框架;Spark是基于內(nèi)存計(jì)算的大數(shù)據(jù)分布式計(jì)算框架;低延遲的復(fù)雜分析;Spark是HadoopMapReduce的替代方案。MapReudce不適合迭代和交互式任務(wù),Spark主要為交互式查詢和迭代算法設(shè)計(jì),支持內(nèi)存存儲(chǔ)和高效的容錯(cuò)恢復(fù)。Spark擁有MapReduce具有的優(yōu)點(diǎn),但不同于MapReduce,Spark中間輸出結(jié)果可以保存在內(nèi)存中,減少讀寫HDFS的次數(shù)。8.2Hadoop和Spark生態(tài)Spark:發(fā)展歷史8.2Hadoop和Spark生態(tài)Spark:UCBerkeleyAMPLab8.2Hadoop和Spark生態(tài)Spark:特點(diǎn)快速易用通用隨處一般情況下,對(duì)于迭代次數(shù)較多的應(yīng)用程序,Spark程序在內(nèi)存中的運(yùn)行速度是HadoopMapReduce運(yùn)行速度的100多倍,在磁盤上的運(yùn)行速度是HadoopMapReduce運(yùn)行速度的10多倍。8.2Hadoop和Spark生態(tài)Spark:特點(diǎn)快速易用通用隨處Spark支持使用Scala、Python、Java及R語(yǔ)言快速編寫應(yīng)用。同時(shí)Spark提供超過(guò)80個(gè)高級(jí)運(yùn)算符,使得編寫并行應(yīng)用程序變得容易并且可以在Scala、Python或R的交互模式下使用Spark。8.2Hadoop和Spark生態(tài)Spark:特點(diǎn)快速易用通用隨處Spark可以與SQL、Streaming及復(fù)雜的分析良好結(jié)合。Spark還有一系列的高級(jí)工具,包括SparkSQL、MLlib(機(jī)器學(xué)習(xí)庫(kù))、GraphX(圖計(jì)算)和SparkStreaming,并且支持在一個(gè)應(yīng)用中同時(shí)使用這些組件。8.2Hadoop和Spark生態(tài)Spark:特點(diǎn)快速易用通用隨處用戶可以使用Spark的獨(dú)立集群模式運(yùn)行Spark,也可以在EC2(亞馬遜彈性計(jì)算云)、HadoopYARN或者ApacheMesos上運(yùn)行Spark。并且可以從HDFS、Cassandra、HBase、Hive、Tachyon和任何分布式文件系統(tǒng)讀取數(shù)據(jù)。8.2Hadoop和Spark生態(tài)Spark生態(tài)圈8.2Hadoop和Spark生態(tài)Spark生態(tài)圈:SparkSQL8.2Hadoop和Spark生態(tài)Spark生態(tài)圈:SparkSQL8.2Hadoop和Spark生態(tài)Spark生態(tài)圈:SparkStreaming輸入流式數(shù)據(jù)輸入小段數(shù)據(jù)處理后的小段數(shù)據(jù)SparkStreamingSparkEngine8.2Hadoop和Spark生態(tài)Spark生態(tài)圈:SparkStreaming8.2Hadoop和Spark生態(tài)Spark生態(tài)圈:MLlibMLlib

isApacheSpark'sscalablemachinelearninglibrary.8.2Hadoop和Spark生態(tài)Spark生態(tài)圈:GraphXGraphXisApacheSpark'sAPIforgraphsandgraph-parallelcomputation.8.2Hadoop和Spark生態(tài)Spark應(yīng)用場(chǎng)景騰訊廣點(diǎn)通是最早使用Spark的應(yīng)用之一。騰訊大數(shù)據(jù)精準(zhǔn)推薦借助Spark快速迭代的優(yōu)勢(shì),圍繞“數(shù)據(jù)+算法+系統(tǒng)”這套技術(shù)方案,實(shí)現(xiàn)了在“數(shù)據(jù)實(shí)時(shí)采集、算法實(shí)時(shí)訓(xùn)練、系統(tǒng)實(shí)時(shí)預(yù)測(cè)”的全流程實(shí)時(shí)并行高維算法,最終成功應(yīng)用于廣點(diǎn)通pCTR投放系統(tǒng)上,支持每天上百億的請(qǐng)求量。YahooYahoo將Spark用在AudienceExpansion中。AudienceExpansion是廣告中尋找目標(biāo)用戶的一種方法,首先廣告者提供一些觀看了廣告并且購(gòu)買產(chǎn)品的樣本客戶,據(jù)此進(jìn)行學(xué)習(xí),尋找更多可能轉(zhuǎn)化的用戶,對(duì)他們定向廣告。Yahoo采用的算法是LogisticRegression。同時(shí)由于某些SQL負(fù)載需要更高的服務(wù)質(zhì)量,又加入了專門跑Shark的大內(nèi)存集群,用于取代商業(yè)BI/OLAP工具,承擔(dān)報(bào)表/儀表盤和交互式/即席查詢,同時(shí)與桌面BI工具對(duì)接。8.2Hadoop和Spark生態(tài)Spark應(yīng)用場(chǎng)景淘寶淘寶技術(shù)團(tuán)隊(duì)使用了Spark來(lái)解決多次迭代的機(jī)器學(xué)習(xí)算法、高計(jì)算復(fù)雜度的算法等,將Spark運(yùn)用于淘寶的推薦相關(guān)算法上,同時(shí)還利用GraphX解決了許多生產(chǎn)問(wèn)題,包括以下計(jì)算場(chǎng)景:基于度分布的中樞節(jié)點(diǎn)發(fā)現(xiàn)、基于最大連通圖的社區(qū)發(fā)現(xiàn)、基于三角形計(jì)數(shù)的關(guān)系衡量、基于隨機(jī)游走的用戶屬性傳播等。優(yōu)酷土豆目前Spark已經(jīng)廣泛使用在優(yōu)酷土豆的視頻推薦,廣告業(yè)務(wù)等方面,相比Hadoop,Spark交互查詢響應(yīng)快,性能比Hadoop提高若干倍。一方面,使用Spark模擬廣告投放的計(jì)算效率高、延遲小(同Hadoop比延遲至少降低一個(gè)數(shù)量級(jí))。另一方面,優(yōu)酷土豆的視頻推薦往往涉及機(jī)器學(xué)習(xí)及圖計(jì)算,而使用Spark解決機(jī)器學(xué)習(xí)、圖計(jì)算等迭代計(jì)算能夠大大減少網(wǎng)絡(luò)傳輸、數(shù)據(jù)落地等的次數(shù),極大地提高了計(jì)算性能。8.2Hadoop和Spark生態(tài)Hadoop和Spark生態(tài)演化HadoopSparkHistoryEcosystem大數(shù)據(jù)的基本概念Hadoop和Spark生態(tài)SQL與Hadoop的組合123第8章

大數(shù)據(jù)系統(tǒng)大數(shù)據(jù)系統(tǒng)的發(fā)展與未來(lái)48.3SQL和Hadoop的組合WhySQLforBigData?8.3SQL和Hadoop的組合WhySQLforBigData?8.3SQL和Hadoop的組合Hadoop-SQLIntegration8.3SQL和Hadoop的組合HadoopVSSQL8.3SQL和Hadoop的組合Hive:簡(jiǎn)介8.3SQL和Hadoop的組合Hive:基本框架Hive各種訪問(wèn)接口BeeLineCL1HiveCL1JDBC客戶端ODBC客戶端Web接口Thrift服務(wù)器解釋器編譯器優(yōu)化器執(zhí)行器MapReduce數(shù)據(jù)倉(cāng)庫(kù)HDFSHadoop無(wú)數(shù)據(jù)庫(kù)8.3SQL和Hadoop的組合Hive:基本框架用戶接口包括HiveShell、Thrift客戶端、Web接口Thrift服務(wù)器當(dāng)Hive以服務(wù)器模式運(yùn)行時(shí),作為Thrift服務(wù)器,供客戶端連接元數(shù)據(jù)庫(kù)Hive元數(shù)據(jù)(如表信息)的集中存放地解析器將Hive語(yǔ)句翻譯成MapReduce操作Hadoop底層分布式存儲(chǔ)和計(jì)算引擎8.3SQL和Hadoop的組合Hive:語(yǔ)法Hive的SQL稱為HiveQL,它與大部分的SQL語(yǔ)法兼容,但是并不完全類似SQL數(shù)據(jù)類型基本類型:數(shù)值型、布爾型和字符串復(fù)雜類型:ARRAY、MAP和STRUCT操作類型HiveQL操作符類似于SQL操作符Hive提供了數(shù)理統(tǒng)計(jì)、字符串操作、條件操作等大量的內(nèi)置函數(shù)用戶還可以自己編寫函數(shù)8.3SQL和Hadoop的組合Hive:語(yǔ)法示例hive>showtables;

#查看當(dāng)前Hive倉(cāng)庫(kù)中所有表(以確定當(dāng)前無(wú)member表)hive>createtablemember(idint,namestring,gendertinyint,agetinyint,edustring,profstring,incomestring)rowformatdelimitedfieldsterminatedby'\t';#使用合適字段與類型,新建member表hive>showtables;#再次查看,將顯示member表hive>loaddatalocalinpath'/root/memberData'intotablemember;#將本地文件memberData載入HDFShive>select*frommember;#查看表中所有記錄hive>select*frommemberwheregender=1;#查看表中g(shù)ender值為1的記錄hive>select*frommemberwheregender=1ANDage=23;#查看表中g(shù)ender值為1且age為23的記錄hive>selectgender,count(*)fromm

溫馨提示

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

評(píng)論

0/150

提交評(píng)論