數(shù)據(jù)分析工具:Apache Drill:Drill的SQL語法入門_第1頁
數(shù)據(jù)分析工具:Apache Drill:Drill的SQL語法入門_第2頁
數(shù)據(jù)分析工具:Apache Drill:Drill的SQL語法入門_第3頁
數(shù)據(jù)分析工具:Apache Drill:Drill的SQL語法入門_第4頁
數(shù)據(jù)分析工具:Apache Drill:Drill的SQL語法入門_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數(shù)據(jù)分析工具:ApacheDrill:Drill的SQL語法入門1數(shù)據(jù)分析工具:ApacheDrill:Drill的SQL語法入門1.1簡介1.1.1ApacheDrill概述ApacheDrill是一個開源的SQL查詢引擎,用于大規(guī)模數(shù)據(jù)集的探索性分析。它支持動態(tài)模式發(fā)現(xiàn),這意味著它可以在不需要預定義模式的情況下查詢復雜的數(shù)據(jù)結構,如嵌套和重復的字段。Drill的設計目標是提供高性能的查詢能力,同時保持對各種數(shù)據(jù)源的靈活性和兼容性。Drill可以查詢的數(shù)據(jù)源包括HDFS、S3、MapR-FS、HBase、MongoDB、Cassandra、以及各種文件格式如CSV、JSON、Parquet等。特點動態(tài)模式發(fā)現(xiàn):Drill能夠自動檢測數(shù)據(jù)結構,無需預定義模式。多數(shù)據(jù)源支持:Drill可以查詢多種數(shù)據(jù)存儲,包括文件系統(tǒng)和NoSQL數(shù)據(jù)庫。高性能查詢:Drill使用內(nèi)存中的執(zhí)行框架,提供低延遲和高吞吐量的查詢性能。SQL兼容性:Drill支持標準SQL語法,包括復雜的查詢和聚合操作。1.1.2Drill與SQL的關系ApacheDrill的核心功能之一是它對SQL的支持。Drill的SQL語法與標準SQL非常相似,但為了適應大數(shù)據(jù)和復雜數(shù)據(jù)結構的查詢,它也引入了一些擴展和改進。Drill的SQL語法允許用戶執(zhí)行各種操作,如選擇、過濾、排序、分組、聚合等,同時還能處理嵌套和重復的數(shù)據(jù)字段。SQL語法示例假設我們有一個存儲在HDFS上的JSON文件,文件名為sales.json,其中包含銷售數(shù)據(jù),結構如下:[

{

"order_id":1,

"items":[

{

"item_id":101,

"quantity":2,

"price":100

},

{

"item_id":102,

"quantity":1,

"price":150

}

]

},

{

"order_id":2,

"items":[

{

"item_id":103,

"quantity":3,

"price":200

}

]

}

]查詢示例使用Drill的SQL語法,我們可以查詢每個訂單的總銷售額:--使用Drill查詢JSON文件中的數(shù)據(jù)

SELECTorder_id,SUM(items.price*items.quantity)astotal_sales

FROM`sales.json`

GROUPBYorder_id;在這個查詢中,SUM(items.price*items.quantity)是一個聚合函數(shù),用于計算每個訂單的總銷售額。GROUPBYorder_id則將結果按訂單ID分組。1.2使用Drill的SQL語法1.2.1基本查詢Drill的SQL語法支持基本的SELECT語句,用于從數(shù)據(jù)源中選擇特定的列或字段。示例假設我們有一個CSV文件employees.csv,其中包含員工信息,如employee_id、name、department和salary。以下是一個查詢示例,用于選擇所有員工的姓名和部門:SELECTname,department

FROM`employees.csv`;1.2.2過濾數(shù)據(jù)使用WHERE子句,Drill的SQL語法可以過濾數(shù)據(jù),只返回滿足特定條件的行。示例如果我們想找出所有在銷售部門工作的員工,可以使用以下查詢:SELECTname,department

FROM`employees.csv`

WHEREdepartment='Sales';1.2.3排序數(shù)據(jù)Drill的SQL語法還支持ORDERBY子句,用于對結果集進行排序。示例如果我們想按工資降序列出所有員工,可以使用以下查詢:SELECTname,department,salary

FROM`employees.csv`

ORDERBYsalaryDESC;1.2.4分組和聚合Drill的SQL語法支持GROUPBY和聚合函數(shù),如SUM、AVG、MIN和MAX,用于對數(shù)據(jù)進行分組和計算。示例如果我們想計算每個部門的平均工資,可以使用以下查詢:SELECTdepartment,AVG(salary)asaverage_salary

FROM`employees.csv`

GROUPBYdepartment;1.2.5處理復雜數(shù)據(jù)結構Drill的SQL語法特別設計用于處理復雜數(shù)據(jù)結構,如嵌套和重復的字段。示例假設我們有一個JSON文件orders.json,其中包含訂單信息,每個訂單可能包含多個項目。以下查詢示例展示了如何計算每個訂單的總銷售額:SELECTorder_id,SUM(items.price*items.quantity)astotal_sales

FROM`orders.json`

GROUPBYorder_id;在這個查詢中,items.price和items.quantity是嵌套字段,Drill能夠直接訪問并計算它們的乘積。1.2.6結論ApacheDrill的SQL語法為大數(shù)據(jù)分析提供了強大的工具,它不僅支持標準SQL操作,還特別優(yōu)化了對復雜數(shù)據(jù)結構的處理。通過上述示例,我們可以看到Drill如何簡化大規(guī)模數(shù)據(jù)集的探索性分析,同時保持查詢的靈活性和性能。2數(shù)據(jù)分析工具:ApacheDrill:安裝與配置2.1ApacheDrill的安裝步驟2.1.1環(huán)境準備在開始安裝ApacheDrill之前,確保你的系統(tǒng)滿足以下要求:-操作系統(tǒng):支持Linux、macOS或Windows。-Java環(huán)境:安裝Java8或更高版本。-內(nèi)存:至少4GB,推薦8GB或更多。2.1.2下載ApacheDrill訪問ApacheDrill的官方網(wǎng)站或GitHub倉庫,下載最新版本的ApacheDrill。以Linux為例,下載tar.gz包。#下載ApacheDrill

wget/drill/drill-1.19.0/apache-drill-1.19.0.tar.gz2.1.3解壓安裝包將下載的tar.gz包解壓到你選擇的目錄中。#解壓ApacheDrill

tar-xzfapache-drill-1.19.0.tar.gz2.1.4配置環(huán)境變量將ApacheDrill的bin目錄添加到系統(tǒng)的PATH環(huán)境變量中。#編輯.bashrc文件

echo'exportPATH=$PATH:/path/to/apache-drill-1.19.0/bin'>>~/.bashrc

#使更改生效

source~/.bashrc2.1.5啟動ApacheDrill使用drill-embedded命令啟動Drill。#啟動Drill

drill-embedded2.1.6驗證安裝通過訪問http://localhost:8047來驗證ApacheDrill是否成功啟動。2.2配置Drill連接數(shù)據(jù)源2.2.1了解存儲插件ApacheDrill支持多種數(shù)據(jù)源,包括HDFS、S3、本地文件系統(tǒng)、MongoDB等。配置數(shù)據(jù)源需要通過編輯drill-override.conf文件來實現(xiàn)。2.2.2配置HDFS數(shù)據(jù)源假設你已經(jīng)安裝了HDFS,下面是如何配置Drill以連接到HDFS的示例。#編輯drill-override.conf

vi/path/to/apache-drill-1.19.0/conf/drill-override.conf在drill-override.conf文件中添加以下內(nèi)容:storage.hdfs.impl=org.apache.drill.exec.store.hdfs.HadoopFilesystem

storage.hdfs.working.dir=/drill

storage.hdfs.config.dir=/path/to/hadoop/conf2.2.3配置S3數(shù)據(jù)源如果你的數(shù)據(jù)存儲在AmazonS3上,可以按照以下步驟配置Drill連接S3。#編輯drill-override.conf

vi/path/to/apache-drill-1.19.0/conf/drill-override.conf在drill-override.conf文件中添加以下內(nèi)容:storage.s3.access.key=YOUR_ACCESS_KEY

storage.s3.secret.key=YOUR_SECRET_KEY

storage.s3.impl=org.apache.drill.exec.store.aws.S3StoragePluginImpl

storage.s3.config=org.apache.hadoop.fs.s3a.S3A2.2.4配置本地文件系統(tǒng)數(shù)據(jù)源對于本地文件系統(tǒng),配置相對簡單。#編輯drill-override.conf

vi/path/to/apache-drill-1.19.0/conf/drill-override.conf在drill-override.conf文件中添加以下內(nèi)容:storage.file.impl=org.apache.drill.exec.store.dfs.FileSystemStoragePluginImpl

storage.file.working.dir=/path/to/your/data2.2.5重啟ApacheDrill配置完成后,需要重啟ApacheDrill以使新的數(shù)據(jù)源配置生效。#停止Drill

drill-stop

#重新啟動Drill

drill-embedded2.2.6驗證數(shù)據(jù)源連接通過Drill的Web界面或使用Drill的SQL命令來驗證數(shù)據(jù)源是否正確配置。#使用SQL命令查詢HDFS數(shù)據(jù)源

SELECT*FROMdfs.`/drill/yourdata.csv`LIMIT10;以上步驟詳細介紹了如何在Linux環(huán)境下安裝ApacheDrill以及如何配置它以連接到HDFS、S3和本地文件系統(tǒng)數(shù)據(jù)源。通過這些配置,你可以開始使用Drill進行復雜的數(shù)據(jù)分析和查詢,無需預先定義數(shù)據(jù)模式。3數(shù)據(jù)分析工具:ApacheDrill:Drill的SQL語法入門3.1基礎SQL語法3.1.1SELECT語句詳解SELECT語句是SQL中最基本的查詢語句,用于從數(shù)據(jù)庫中檢索數(shù)據(jù)。在ApacheDrill中,SELECT語句的使用與標準SQL相似,但支持更廣泛的查詢類型,包括對復雜數(shù)據(jù)類型如JSON和Parquet的查詢。示例代碼--從sales表中選擇所有列

SELECT*

FROMsales;

--選擇特定列

SELECTproduct_name,quantity,price

FROMsales;

--使用別名

SELECTproduct_nameASname,quantity*priceAStotal_sales

FROMsales;數(shù)據(jù)樣例假設我們有一個sales表,包含以下列:product_id,product_name,quantity,duct_name列包含產(chǎn)品名稱,quantity列包含銷售數(shù)量,price列包含單價。解釋在第一個示例中,SELECT*表示選擇所有列。在第二個示例中,我們只選擇了product_name,quantity,和price列。在第三個示例中,我們使用了列別名,并計算了每個產(chǎn)品的總銷售額。3.1.2WHERE子句的使用WHERE子句用于過濾SELECT語句的結果,只返回滿足指定條件的行。示例代碼--選擇2020年銷售的產(chǎn)品

SELECT*

FROMsales

WHEREyear=2020;

--選擇單價大于100的產(chǎn)品

SELECT*

FROMsales

WHEREprice>100;

--使用邏輯運算符

SELECT*

FROMsales

WHEREyear=2020ANDprice>100;數(shù)據(jù)樣例sales表中包含year列,記錄銷售年份。解釋在第一個示例中,我們只選擇了2020年的銷售記錄。在第二個示例中,我們選擇了單價超過100的產(chǎn)品。在第三個示例中,我們使用了邏輯運算符AND,只選擇了2020年且單價超過100的產(chǎn)品。3.1.3GROUPBY與聚合函數(shù)GROUPBY子句與聚合函數(shù)結合使用,可以對數(shù)據(jù)進行分組和匯總。示例代碼--按產(chǎn)品名稱分組,計算每種產(chǎn)品的總銷售額

SELECTproduct_name,SUM(quantity*price)AStotal_sales

FROMsales

GROUPBYproduct_name;

--按年份分組,計算每年的平均單價

SELECTyear,AVG(price)ASaverage_price

FROMsales

GROUPBYyear;數(shù)據(jù)樣例sales表中包含product_name和year列。解釋在第一個示例中,我們使用GROUPBYproduct_name對產(chǎn)品名稱進行分組,并使用SUM函數(shù)計算每種產(chǎn)品的總銷售額。在第二個示例中,我們按年份分組,并使用AVG函數(shù)計算每年的平均單價。3.1.4ORDERBY排序數(shù)據(jù)ORDERBY子句用于對結果集進行排序,可以按升序(ASC)或降序(DESC)排序。示例代碼--按產(chǎn)品名稱升序排序

SELECT*

FROMsales

ORDERBYproduct_nameASC;

--按銷售額降序排序

SELECTproduct_name,SUM(quantity*price)AStotal_sales

FROMsales

GROUPBYproduct_name

ORDERBYtotal_salesDESC;數(shù)據(jù)樣例sales表中包含product_name列。解釋在第一個示例中,我們按產(chǎn)品名稱的字母順序對所有銷售記錄進行排序。在第二個示例中,我們首先按產(chǎn)品名稱分組計算總銷售額,然后按總銷售額的大小進行降序排序,這樣可以找出銷售額最高的產(chǎn)品。通過以上示例,我們可以看到ApacheDrill如何使用標準SQL語法進行數(shù)據(jù)查詢、過濾、分組和排序。這些基本操作是進行數(shù)據(jù)分析和報告生成的基石。4高級SQL特性4.1子查詢的使用子查詢是在一個SQL查詢語句中嵌套另一個查詢語句,用于在主查詢中獲取子查詢的結果。ApacheDrill支持標準的SQL子查詢語法,可以用于WHERE子句、FROM子句或作為函數(shù)的參數(shù)。4.1.1示例:WHERE子句中的子查詢假設我們有一個employees表和一個departments表,我們想要找出所有在Sales部門工作的員工的姓名和工資。--employees表結構

CREATETABLEemployees(

idINT,

nameVARCHAR,

department_idINT,

salaryDECIMAL

);

--departments表結構

CREATETABLEdepartments(

idINT,

nameVARCHAR

);

--插入示例數(shù)據(jù)

INSERTINTOemployeesVALUES(1,'Alice',1,50000);

INSERTINTOemployeesVALUES(2,'Bob',2,60000);

INSERTINTOemployeesVALUES(3,'Charlie',2,55000);

INSERTINTOdepartmentsVALUES(1,'HR');

INSERTINTOdepartmentsVALUES(2,'Sales');

--使用子查詢找出Sales部門的員工

SELECTname,salary

FROMemployees

WHEREdepartment_idIN(

SELECTid

FROMdepartments

WHEREname='Sales'

);4.1.2示例:FROM子句中的子查詢子查詢也可以在FROM子句中使用,創(chuàng)建一個臨時的表或視圖,然后在主查詢中使用這個臨時表。--使用子查詢創(chuàng)建臨時表并查詢

SELECT,e.salary

FROM(

SELECTid,name,salary

FROMemployees

WHEREdepartment_id=2

)ASe

JOIN(

SELECTid,name

FROMdepartments

WHEREname='Sales'

)ASdONe.department_id=d.id;4.2JOIN操作詳解JOIN操作用于將兩個或多個表中的行組合在一起,基于一個或多個共享列。ApacheDrill支持多種類型的JOIN,包括INNERJOIN、LEFTJOIN、RIGHTJOIN和FULLJOIN。4.2.1示例:INNERJOININNERJOIN返回兩個表中匹配的行。--使用INNERJOIN找出員工和他們所在部門的信息

SELECT,ASdepartment_name

FROMemployeesASe

INNERJOINdepartmentsASdONe.department_id=d.id;4.2.2示例:LEFTJOINLEFTJOIN返回左表的所有行,即使右表中沒有匹配的行,也會用NULL填充右表的列。--使用LEFTJOIN找出所有員工,包括沒有部門的員工

SELECT,ASdepartment_name

FROMemployeesASe

LEFTJOINdepartmentsASdONe.department_id=d.id;4.3窗口函數(shù)介紹窗口函數(shù)允許在一組行(窗口)上執(zhí)行計算,而無需將這些行分組。ApacheDrill支持多種窗口函數(shù),如RANK、DENSE_RANK、ROW_NUMBER、LAG、LEAD等。4.3.1示例:ROW_NUMBERROW_NUMBER為每一行分配一個唯一的數(shù)字,基于窗口的定義。--使用ROW_NUMBER為每個部門的員工分配一個編號

SELECTname,department_id,ROW_NUMBER()OVER(PARTITIONBYdepartment_idORDERBYsalaryDESC)ASrank

FROMemployees;4.4使用WITH子句進行公共表表達式操作公共表表達式(CommonTableExpression,CTE)是一個臨時的結果集,可以在WITH子句中定義,然后在主查詢中使用。CTE可以簡化復雜的查詢,使其更易于理解和維護。4.4.1示例:WITH子句--使用WITH子句定義一個臨時表,然后在主查詢中使用

WITHsales_employeesAS(

SELECTname,salary

FROMemployees

WHEREdepartment_id=2

)

SELECT,se.salary,ASdepartment_name

FROMsales_employeesASse

JOINdepartmentsASdONse.department_id=d.id;以上示例展示了如何在ApacheDrill中使用子查詢、JOIN操作、窗口函數(shù)和WITH子句進行高級SQL查詢。這些特性可以顯著增強查詢的靈活性和功能,幫助數(shù)據(jù)分析師和開發(fā)者更有效地處理和分析數(shù)據(jù)。5Drill的特定功能5.11動態(tài)數(shù)據(jù)探索動態(tài)數(shù)據(jù)探索是ApacheDrill的一個關鍵特性,它允許用戶在不預先定義模式的情況下查詢數(shù)據(jù)。這意味著,Drill可以自動推斷數(shù)據(jù)的結構,從而簡化了數(shù)據(jù)探索的過程。例如,假設你有一個JSON文件,其中包含用戶行為數(shù)據(jù),但你并不知道確切的字段和結構。使用Drill,你可以直接查詢這個文件,而無需事先創(chuàng)建表或定義模式。5.1.1示例:查詢JSON文件假設我們有以下JSON文件內(nèi)容:[

{

"user_id":1,

"name":"Alice",

"actions":[

{"action":"login","timestamp":"2023-01-01T12:00:00Z"},

{"action":"purchase","timestamp":"2023-01-01T12:05:00Z"}

]

},

{

"user_id":2,

"name":"Bob",

"actions":[

{"action":"login","timestamp":"2023-01-01T13:00:00Z"}

]

}

]使用Drill查詢這個文件,可以使用以下SQL語句:--查詢JSON文件中的用戶ID和名稱

SELECTuser_id,name

FROM`path/to/your/jsonfile.json`;--查詢用戶執(zhí)行的所有動作

SELECTuser_id,actions.action,actions.timestamp

FROM`path/to/your/jsonfile.json`;這些查詢將自動解析JSON結構,并返回所需的數(shù)據(jù)。5.22Schema-less查詢Schema-less查詢意味著Drill可以處理沒有預定義模式的數(shù)據(jù)源。這對于處理日志文件、JSON、XML等非結構化或半結構化數(shù)據(jù)特別有用。Drill能夠動態(tài)推斷數(shù)據(jù)的模式,從而允許即時查詢和分析。5.2.1示例:查詢?nèi)罩疚募僭O我們有以下日志文件內(nèi)容:2023-01-01T12:00:00Z[INFO]User1loggedin.

2023-01-01T12:05:00Z[INFO]User1madeapurchase.

2023-01-01T13:00:00Z[INFO]User2loggedin.使用Drill查詢這個日志文件,可以使用以下SQL語句:--查詢?nèi)罩疚募械挠脩鬒D和動作

SELECTparse_json(log_line).`User`,parse_json(log_line).`Action`

FROM`path/to/your/logfile.log`;這里,parse_json函數(shù)用于將日志行轉換為JSON對象,然后Drill可以從中提取字段。5.33復雜數(shù)據(jù)類型的支持Drill支持復雜數(shù)據(jù)類型,如嵌套結構、數(shù)組和映射。這使得處理復雜數(shù)據(jù)結構變得更加容易,無需進行額外的數(shù)據(jù)預處理。5.3.1示例:查詢嵌套數(shù)據(jù)假設我們有以下CSV文件內(nèi)容,其中包含嵌套的用戶信息:user_id,name,age,location.city,location.country

1,Alice,30,NewYork,USA

2,Bob,25,Paris,France使用Drill查詢這個CSV文件,可以使用以下SQL語句:--查詢CSV文件中的用戶ID、名稱和國家

SELECTuser_id,name,location.country

FROM`path/to/your/csvfile.csv`;Drill將自動解析嵌套字段,并允許你直接查詢這些字段。5.44Drill的性能優(yōu)化技巧為了最大化Drill的查詢性能,可以采用以下幾種策略:數(shù)據(jù)分區(qū):通過將數(shù)據(jù)按列或行分區(qū),可以減少查詢時需要掃描的數(shù)據(jù)量。數(shù)據(jù)壓縮:使用數(shù)據(jù)壓縮可以減少存儲空間和查詢時的數(shù)據(jù)傳輸量。查詢優(yōu)化:使用Drill的查詢優(yōu)化功能,如EXPLAIN語句,來分析和優(yōu)化查詢計劃。索引:為經(jīng)常查詢的列創(chuàng)建索引,可以顯著提高查詢速度。5.4.1示例:使用數(shù)據(jù)分區(qū)假設我們有一個大型的CSV文件,其中包含按日期分區(qū)的銷售數(shù)據(jù)。我們可以使用以下SQL語句來查詢特定日期的數(shù)據(jù):--查詢2023年1月1日的銷售數(shù)據(jù)

SELECT*

FROM`path/to/your/sales/year=2023/month=01/day=01/sales.csv`;這里,year、month和day是數(shù)據(jù)的分區(qū)字段,Drill將只掃描與查詢?nèi)掌谄ヅ涞姆謪^(qū),從而提高查詢效率。5.4.2示例:使用查詢優(yōu)化使用EXPLAIN語句來查看查詢計劃,并根據(jù)需要進行優(yōu)化:--顯示查詢計劃

EXPLAINSELECT*

FROM`path/to/your/table`;通過分析輸出的查詢計劃,可以識別出可能的性能瓶頸,并調(diào)整查詢或數(shù)據(jù)布局以提高性能。5.4.3示例:創(chuàng)建索引為經(jīng)常查詢的列創(chuàng)建索引:--創(chuàng)建索引

CREATEINDEXidx_user_idON`path/to/your/table`(user_id);創(chuàng)建索引后,查詢涉及user_id的查詢將更快,因為Drill可以使用索引來定位數(shù)據(jù)。通過這些特定功能和技巧,ApacheDrill提供了一個強大且靈活的數(shù)據(jù)分析平臺,適用于各種數(shù)據(jù)源和數(shù)據(jù)類型。6實踐案例6.1subdir6.1:Drill查詢JSON數(shù)據(jù)示例在ApacheDrill中,查詢JSON數(shù)據(jù)變得非常直觀和簡單。Drill支持直接讀取JSON文件,并使用標準SQL語句進行查詢。下面是一個具體的示例,展示如何使用Drill查詢JSON數(shù)據(jù)。假設我們有一個JSON文件,名為sales.json,內(nèi)容如下:[

{

"id":1,

"product":"Laptop",

"price":1200,

"quantity":3,

"timestamp":"2023-01-01T12:00:00Z"

},

{

"id":2,

"product":"Smartphone",

"price":800,

"quantity":5,

"timestamp":"2023-01-02T10:00:00Z"

},

{

"id":3,

"product":"Headphones",

"price":150,

"quantity":10,

"timestamp":"2023-01-03T14:00:00Z"

}

]6.1.1步驟1:連接到Drill集群首先,確保你已經(jīng)連接到ApacheDrill集群。如果是在本地運行,可以跳過這一步。6.1.2步驟2:創(chuàng)建查詢使用Drill的SQL語法,我們可以直接查詢sales.json文件。下面是一個查詢示例,用于獲取所有銷售記錄的總銷售額:--Drill查詢JSON數(shù)據(jù)示例

SELECT

product,

SUM(price*quantity)AStotal_sales

FROM

`path/to/sales.json`

GROUPBY

product;6.1.3步驟3:執(zhí)行查詢在Drill的控制臺或使用DrillJDBC驅動的客戶端中執(zhí)行上述SQL查詢。Drill會自動推斷JSON文件的結構,并返回結果。6.2subdir6.2:分析CSV文件中的大數(shù)據(jù)集ApacheDrill同樣支持CSV文件的查詢,這對于處理大數(shù)據(jù)集非常有用。下面是一個示例,展示如何使用Drill查詢一個包含銷售數(shù)據(jù)的CSV文件。假設我們有一個CSV文件,名為sales.csv,內(nèi)容如下:id,product,price,quantity,timestamp

1,Laptop,1200,3,2023-01-01T12:00:00Z

2,Smartphone,800,5,2023-01-02T10:00:00Z

3,Headphones,150,10,2023-01-03T14:00:00Z6.2.1步

溫馨提示

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

評論

0/150

提交評論