數據倉庫:Hive:數據倉庫與Hive概述_第1頁
數據倉庫:Hive:數據倉庫與Hive概述_第2頁
數據倉庫:Hive:數據倉庫與Hive概述_第3頁
數據倉庫:Hive:數據倉庫與Hive概述_第4頁
數據倉庫:Hive:數據倉庫與Hive概述_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

數據倉庫:Hive:數據倉庫與Hive概述1數據倉庫基礎1.1數據倉庫的概念與作用數據倉庫(DataWarehouse)是一種用于存儲和管理大量數據的系統(tǒng),主要用于支持業(yè)務智能(BusinessIntelligence,BI)活動,特別是分析性報告和決策支持。數據倉庫的設計目的是為了提供對歷史數據的快速訪問,以便進行趨勢分析、預測建模等高級數據處理。與傳統(tǒng)的業(yè)務數據庫相比,數據倉庫具有以下特點:面向主題:數據倉庫中的數據是圍繞特定的業(yè)務主題組織的,而不是按照業(yè)務過程。集成性:數據倉庫中的數據是從多個異構數據源抽取、清洗、轉換和加載(ETL)的,確保數據的一致性和完整性。非易失性:一旦數據進入數據倉庫,通常不會被修改或刪除,以保持歷史數據的準確性。時間變異性:數據倉庫中的數據是隨時間變化的,用于分析歷史趨勢和預測未來。1.1.1示例:數據倉庫中的銷售數據假設一個零售公司想要分析其過去五年的銷售趨勢。數據倉庫中可能包含一個“銷售”主題區(qū)域,其中存儲了所有銷售記錄,包括產品信息、客戶信息、銷售日期和銷售金額。以下是一個簡化版的銷售數據表結構示例:CREATETABLEsales(

sale_idINT,

product_idINT,

customer_idINT,

sale_dateDATE,

sale_amountDECIMAL(10,2)

);1.2數據倉庫的架構與設計數據倉庫的架構通常包括三個主要層次:源系統(tǒng)、數據倉庫和前端工具。數據從源系統(tǒng)抽取,經過ETL過程,然后加載到數據倉庫中,最后通過前端工具進行查詢和分析。1.2.1架構層次源系統(tǒng):這是數據倉庫數據的原始來源,可以是各種業(yè)務數據庫、日志文件、外部數據源等。數據倉庫:數據倉庫是存儲和管理數據的地方,通常包括數據倉庫數據庫和元數據存儲。前端工具:用于查詢數據倉庫和生成報告的工具,如BI工具、數據挖掘軟件等。1.2.2設計原則星型模式:星型模式是最常見的數據倉庫設計模式,其中事實表位于中心,周圍是多個維度表,形成星型結構。雪花模式:雪花模式是星型模式的擴展,其中維度表可以進一步分解為子維度表,形成更復雜的結構。事實星座模式:在大型數據倉庫中,可能有多個事實表,每個事實表都有自己的維度表,形成多個星型結構,這些結構共同構成事實星座模式。1.2.3示例:星型模式設計假設我們有銷售數據和客戶數據,可以設計如下星型模式:事實表:sales,包含銷售金額、銷售日期等度量。維度表:products(產品信息)、customers(客戶信息)、dates(日期信息)。--創(chuàng)建事實表

CREATETABLEsales(

sale_idINT,

product_idINT,

customer_idINT,

sale_dateDATE,

sale_amountDECIMAL(10,2)

);

--創(chuàng)建維度表

CREATETABLEproducts(

product_idINT,

product_nameVARCHAR(255),

product_categoryVARCHAR(255)

);

CREATETABLEcustomers(

customer_idINT,

customer_nameVARCHAR(255),

customer_cityVARCHAR(255)

);

CREATETABLEdates(

date_idINT,

sale_dateDATE,

day_of_weekVARCHAR(10),

monthVARCHAR(10),

yearINT

);1.2.4ETL過程ETL(Extract,Transform,Load)是數據倉庫中數據處理的核心過程,用于從源系統(tǒng)抽取數據,轉換數據格式和內容,然后加載到數據倉庫中。抽?。‥xtract)從源系統(tǒng)中抽取數據,可能包括多個數據源。轉換(Transform)數據轉換包括數據清洗、數據格式轉換、數據聚合等。加載(Load)將轉換后的數據加載到數據倉庫中,通常需要考慮數據的更新策略,如增量加載、全量加載等。1.2.5示例:ETL過程以下是一個簡單的ETL過程示例,從源系統(tǒng)抽取銷售數據,清洗和轉換后,加載到數據倉庫中:--抽取數據

SELECTproduct_id,customer_id,sale_date,sale_amount

FROMsource_sales;

--清洗和轉換數據

--假設需要將日期格式從'YYYY-MM-DD'轉換為'YYYYMMDD'

SELECTproduct_id,customer_id,STR_TO_DATE(sale_date,'%Y-%m-%d')ASsale_date,sale_amount

FROMsource_sales;

--加載數據到數據倉庫

INSERTINTOsales(product_id,customer_id,sale_date,sale_amount)

SELECTproduct_id,customer_id,sale_date,sale_amount

FROMtransformed_sales;1.3總結數據倉庫是現代企業(yè)中不可或缺的數據管理組件,它通過集成、存儲和管理大量歷史數據,支持高級數據分析和決策支持。設計和構建數據倉庫時,需要考慮數據的組織方式、ETL過程以及數據訪問和查詢的效率。通過遵循星型模式、雪花模式或事實星座模式等設計原則,可以構建出高效、可擴展的數據倉庫系統(tǒng)。2數據倉庫:Hive:Hive入門2.1Hive的簡介與優(yōu)勢Hive是一個基于Hadoop的數據倉庫工具,可以將結構化的數據文件映射為一張數據庫表,并提供簡單的SQL查詢功能,使MapReduce更為簡單。Hive的優(yōu)勢在于它提供了SQL語句的查詢方式,這使得熟悉SQL的數據分析師能夠快速上手,而無需學習復雜的MapReduce編程。2.1.1Hive的架構Hive主要由以下幾個組件構成:HiveServer:處理客戶端的查詢請求。HiveMetastore:存儲元數據信息,如表的定義、列的定義、表的分區(qū)信息等。HiveDriver:負責查詢的解析、優(yōu)化和執(zhí)行。HiveExecutor:執(zhí)行優(yōu)化后的查詢計劃。HiveHCatalog:提供了一個統(tǒng)一的接口,用于訪問Hive和Pig的數據。2.1.2Hive的優(yōu)勢SQL查詢:Hive提供了SQL語句的查詢方式,使得數據分析師能夠快速上手。數據處理:Hive可以處理大量的數據,利用Hadoop的分布式計算能力。數據存儲:Hive可以存儲數據在HDFS或其他數據存儲系統(tǒng)中,如S3、HBase等。數據類型:Hive支持多種數據類型,如字符串、整數、浮點數、日期等。數據分區(qū):Hive支持數據分區(qū),可以提高查詢的效率。2.2Hive的安裝與配置2.2.1安裝Hive下載Hive:從Apache官網下載Hive的二進制包。解壓Hive:將下載的Hive包解壓到指定目錄。配置Hive環(huán)境變量:將Hive的bin目錄添加到系統(tǒng)的PATH環(huán)境變量中。配置HiveMetastore:HiveMetastore是Hive的元數據存儲,可以使用Derby或MySQL。如果使用MySQL,需要先安裝MySQL,并創(chuàng)建Hive的數據庫,然后在Hive的配置文件中配置MySQL的連接信息。2.2.2配置HiveHive的配置文件主要有hive-site.xml和hive-env.sh。hive-site.xml<configuration>

<property>

<name>javax.jdo.option.ConnectionURL</name>

<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>

<description>MetastoredatabaseconnectionURL</description>

</property>

<property>

<name>javax.jdo.option.ConnectionUserName</name>

<value>root</value>

<description>Metastoredatabaseconnectionusername</description>

</property>

<property>

<name>javax.jdo.option.ConnectionPassword</name>

<value>password</value>

<description>Metastoredatabaseconnectionpassword</description>

</property>

<property>

<name>hive.metastore.uris</name>

<value>thrift://localhost:9083</value>

<description>MetastoreURI</description>

</property>

<property>

<name>hive.metastore.warehouse.dir</name>

<value>/user/hive/warehouse</value>

<description>Defaultlocationformanagedtables</description>

</property>

</configuration>hive-env.shexportHIVE_HOME=/path/to/hive

exportHIVE_CONF_DIR=$HIVE_HOME/conf

exportHIVE_AUX_JARS_PATH=$HIVE_HOME/lib/*

exportHADOOP_HOME=/path/to/hadoop

exportHIVE_LIB=${HIVE_HOME}/lib

exportHIVE_CLASSPATH=${HIVE_HOME}/conf

exportHIVE_OPTS="-Djava.library.path=${HIVE_HOME}/lib/native"2.2.3啟動Hive在配置好Hive后,可以使用以下命令啟動Hive:$HIVE_HOME/bin/hive啟動后,Hive會進入命令行界面,可以使用SQL語句查詢數據。2.2.4示例:創(chuàng)建表和插入數據--創(chuàng)建表

CREATETABLEIFNOTEXISTSemployees(

idINT,

nameSTRING,

ageINT,

addressSTRING

)ROWFORMATDELIMITED

FIELDSTERMINATEDBY','

STOREDASTEXTFILE;

--插入數據

LOADDATALOCALINPATH'/path/to/employees.csv'

INTOTABLEemployees;在這個例子中,我們首先創(chuàng)建了一個名為employees的表,然后將本地文件系統(tǒng)中的employees.csv文件加載到這個表中。employees.csv文件中的每一行數據由逗號分隔,因此我們在創(chuàng)建表時指定了字段分隔符為逗號。2.2.5示例:查詢數據--查詢所有員工的信息

SELECT*FROMemployees;

--查詢年齡大于30的員工信息

SELECT*FROMemployeesWHEREage>30;在這個例子中,我們首先查詢了employees表中的所有數據,然后查詢了年齡大于30的員工信息。通過以上步驟,我們就可以在Hadoop環(huán)境中使用Hive進行數據倉庫的構建和數據的查詢了。3Hive數據模型3.1Hive表的類型Hive支持多種表類型,包括內部表(ManagedTables)、外部表(ExternalTables)、分區(qū)表(PartitionedTables)、桶表(BucketsTables)以及視圖(Views)。每種表類型都有其特定的用途和存儲方式,理解它們之間的區(qū)別對于高效地使用Hive至關重要。3.1.1內部表(ManagedTables)內部表是Hive中默認的表類型。當創(chuàng)建內部表時,Hive會將數據存儲在Hive的倉庫目錄中,并且負責管理數據的生命周期。這意味著,如果內部表被刪除,其對應的數據也會被刪除。創(chuàng)建內部表示例--創(chuàng)建內部表

CREATETABLEIFNOTEXISTSinternal_table(

idINT,

nameSTRING,

ageINT

)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'

STOREDASTEXTFILE;3.1.2外部表(ExternalTables)外部表允許你將Hive表與HDFS上的現有數據文件關聯。與內部表不同,外部表的數據存儲位置可以指定,且刪除表時不會刪除數據。這使得外部表在數據共享和保護方面更加靈活。創(chuàng)建外部表示例--創(chuàng)建外部表

CREATEEXTERNALTABLEexternal_table(

idINT,

nameSTRING,

ageINT

)ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'

STOREDASTEXTFILE

LOCATION'/user/hive/external_data';3.2Hive分區(qū)與桶的使用3.2.1分區(qū)表(PartitionedTables)分區(qū)表是Hive中用于優(yōu)化查詢性能的一種數據組織方式。通過將數據按照某個列的值進行分區(qū),可以減少查詢時需要掃描的數據量,從而提高查詢效率。分區(qū)列通常選擇那些在查詢中經常被用作過濾條件的列。創(chuàng)建分區(qū)表示例--創(chuàng)建分區(qū)表

CREATETABLEpartitioned_table(

idINT,

nameSTRING,

ageINT

)PARTITIONEDBY(yearINT)

ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'

STOREDASTEXTFILE;插入數據到分區(qū)表--插入數據到特定分區(qū)

INSERTINTOTABLEpartitioned_tablePARTITION(year=2023)

SELECT*FROMsource_tableWHEREyear=2023;3.2.2桶表(BucketsTables)桶表是另一種數據組織方式,它基于哈希函數將數據分布到多個桶中。桶表可以進一步提高查詢性能,尤其是在進行join操作時,因為join可以在桶級別進行,而不需要掃描整個表。桶表通常與排序(SORTBY)和分組(CLUSTERBY)一起使用,以優(yōu)化數據的分布和查詢性能。創(chuàng)建桶表示例--創(chuàng)建桶表

CREATETABLEbucketed_table(

idINT,

nameSTRING,

ageINT

)CLUSTEREDBY(id)INTO10BUCKETS

SORTEDBY(age)

ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'

STOREDASTEXTFILE;插入數據到桶表--插入數據到桶表

INSERTINTOTABLEbucketed_table

SELECT*FROMsource_table;3.2.3分區(qū)與桶的結合使用在實際應用中,分區(qū)和桶可以結合使用,以實現更細粒度的數據組織和查詢優(yōu)化。例如,可以創(chuàng)建一個分區(qū)表,并在每個分區(qū)中使用桶表。創(chuàng)建分區(qū)桶表示例--創(chuàng)建分區(qū)桶表

CREATETABLEpartitioned_bucketed_table(

idINT,

nameSTRING,

ageINT

)PARTITIONEDBY(yearINT)

CLUSTEREDBY(id)INTO10BUCKETS

SORTEDBY(age)

ROWFORMATDELIMITEDFIELDSTERMINATEDBY'\t'

STOREDASTEXTFILE;3.2.4數據樣例假設我們有一個用戶數據集,包含用戶的ID、姓名和年齡,以及數據記錄的年份。數據如下:idnameageyear1Alice2520232Bob3020233Charlie3520224David402022在分區(qū)桶表中,數據將首先按照年份分區(qū),然后在每個分區(qū)中,根據ID的哈希值分布到10個桶中,并在桶內按照年齡排序。3.2.5結論通過合理地使用Hive的數據模型,包括內部表、外部表、分區(qū)表和桶表,可以顯著提高數據倉庫的查詢性能和數據管理的靈活性。理解這些概念并根據具體需求選擇合適的表類型和數據組織方式,是使用Hive進行大數據分析的關鍵。4數據倉庫:Hive:Hive查詢語言4.1HiveQL基礎語法HiveQL是Hive的數據查詢語言,它與SQL非常相似,但為了適應Hadoop的分布式環(huán)境,HiveQL引入了一些額外的特性。下面,我們將通過幾個示例來介紹HiveQL的基礎語法。4.1.1創(chuàng)建數據庫--創(chuàng)建數據庫

CREATEDATABASEIFNOTEXISTSmy_database;4.1.2創(chuàng)建表--創(chuàng)建一個外部表

CREATEEXTERNALTABLEIFNOTEXISTSmy_table(

idINT,

nameSTRING,

ageINT,

addressSTRING

)

ROWFORMATDELIMITEDFIELDSTERMINATEDBY','

STOREDASTEXTFILE;4.1.3加載數據--加載數據到表

LOADDATAINPATH'/user/hive/warehouse/my_table/data'

INTOTABLEmy_table;4.1.4查詢數據--查詢所有數據

SELECT*FROMmy_table;

--查詢特定列

SELECTname,ageFROMmy_table;

--條件查詢

SELECT*FROMmy_tableWHEREage>30;4.1.5分組與聚合--分組并計算平均年齡

SELECTname,AVG(age)FROMmy_tableGROUPBYname;4.1.6連接表--假設有兩個表,my_table和another_table

--連接兩個表

SELECT,t2.salary

FROMmy_tablet1

JOINanother_tablet2ONt1.id=t2.id;4.1.7子查詢--使用子查詢

SELECT*FROMmy_tableWHEREage>(SELECTAVG(age)FROMmy_table);4.2HiveQL與SQL的對比HiveQL和SQL在語法上有很多相似之處,但也有幾個關鍵的區(qū)別:4.2.1數據存儲格式SQL:數據通常存儲在關系型數據庫中,如MySQL,PostgreSQL等。HiveQL:數據存儲在Hadoop的分布式文件系統(tǒng)(HDFS)中,可以是文本文件、序列文件或壓縮文件。4.2.2數據處理方式SQL:數據處理通常在數據庫服務器上進行,可能涉及磁盤I/O和網絡I/O。HiveQL:數據處理通過MapReduce作業(yè)在Hadoop集群上進行,可以處理PB級別的數據。4.2.3表類型SQL:主要處理內部表。HiveQL:支持內部表和外部表,外部表的數據不會存儲在Hive的倉庫目錄中,而是存儲在HDFS的任意位置。4.2.4事務支持SQL:支持ACID事務。HiveQL:在Hive0.13版本之前,不支持事務,之后的版本開始支持某些類型的事務。4.2.5執(zhí)行延遲SQL:執(zhí)行延遲較低,適合在線事務處理(OLTP)。HiveQL:執(zhí)行延遲較高,適合離線數據處理和數據分析(OLAP)。4.2.6擴展性SQL:擴展性受限于單個數據庫服務器的性能。HiveQL:可以利用Hadoop集群的分布式計算能力,具有很好的擴展性。4.2.7代碼示例SQL示例--創(chuàng)建表

CREATETABLEemployees(

idINTPRIMARYKEY,

nameVARCHAR(100),

ageINT,

salaryDECIMAL(10,2)

);

--插入數據

INSERTINTOemployees(id,name,age,salary)VALUES(1,'JohnDoe',35,50000);

INSERTINTOemployees(id,name,age,salary)VALUES(2,'JaneDoe',32,48000);

--查詢數據

SELECT*FROMemployeesWHEREage>30;HiveQL示例--創(chuàng)建表

CREATEEXTERNALTABLEemployees(

idINT,

nameSTRING,

ageINT,

salaryDECIMAL

)

ROWFORMATDELIMITEDFIELDSTERMINATEDBY','

STOREDASTEXTFILE;

--加載數據

LOADDATAINPATH'/user/hive/warehouse/employees/data'

INTOTABLEemployees;

--查詢數據

SELECT*FROMemployeesWHEREage>30;通過以上對比,我們可以看到HiveQL和SQL在數據處理和存儲方面有顯著的不同,但它們都提供了強大的數據查詢能力。在選擇使用哪種查詢語言時,應根據具體的應用場景和數據規(guī)模來決定。5Hive性能優(yōu)化5.1Hive查詢優(yōu)化技巧Hive查詢優(yōu)化是提升數據倉庫性能的關鍵步驟。通過優(yōu)化Hive查詢,可以顯著減少查詢時間,提高數據處理效率。以下是一些Hive查詢優(yōu)化的技巧:5.1.1使用分區(qū)和桶Hive支持數據分區(qū)和桶化,這可以極大地提高查詢速度。分區(qū)是基于列值將數據物理上分割到不同的目錄中,而桶化則是將數據進一步分割到更小的文件中,通常用于隨機分布的數據。示例代碼--創(chuàng)建分區(qū)表

CREATETABLEIFNOTEXISTSsales(

product_idINT,

sale_dateDATE,

quantityINT,

priceDECIMAL(10,2)

)

PARTITIONEDBY(yearINT,monthINT)

ROWFORMATDELIMITED

FIELDSTERMINATEDBY','

STOREDASTEXTFILE;

--創(chuàng)建桶化表

CREATETABLEIFNOTEXISTSusers(

user_idINT,

nameSTRING,

ageINT

)

CLUSTEREDBY(user_id)INTO10BUCKETS

ROWFORMATDELIMITED

FIELDSTERMINATEDBY','

STOREDASTEXTFILE;5.1.2使用索引Hive索引可以加速某些查詢,尤其是那些包含WHERE子句的查詢。索引可以減少需要掃描的數據量,從而提高查詢速度。示例代碼--創(chuàng)建索引

CREATEINDEXidx_productONTABLEsales(product_id)

USING'BITMAP';

--使用索引查詢

SELECT*FROMsales

WHEREproduct_id=100

DISTRIBUTEBYyear,month;5.1.3優(yōu)化JOIN操作Hive中的JOIN操作可能會導致大量的數據讀取和處理,因此需要優(yōu)化。使用MAPJOIN可以顯著提高小表和大表JOIN的性能。示例代碼--使用MAPJOIN優(yōu)化JOIN操作

SEThive.mapjoin.smalltable.filesize=256000000;

SELECTduct_id,s.quantity,duct_name

FROMsaless

JOINproductsp

DISTRIBUTEBYyear,month

ON(duct_id=duct_id)

WHEREduct_name='Widget';5.2Hive數據存儲格式優(yōu)化Hive的數據存儲格式對查詢性能有直接影響。選擇正確的存儲格式可以減少數據讀取和處理的時間,從而提高查詢速度。5.2.1使用壓縮格式Hive支持多種壓縮格式,如Snappy、Gzip、LZO等。壓縮可以減少存儲空間,同時在查詢時減少數據讀取時間。示例代碼--創(chuàng)建使用Snappy壓縮的表

CREATETABLEIFNOTEXISTSsales(

product_idINT,

sale_dateDATE,

quantityINT,

priceDECIMAL(10,2)

)

PARTITIONEDBY(yearINT,monthINT)

ROWFORMATDELIMITED

FIELDSTERMINATEDBY','

STOREDASORC

TBLPROPERTIES('press'='SNAPPY');5.2.2使用列式存儲格式列式存儲格式,如Parquet和ORC,可以提高查詢性能,因為它們只讀取查詢中涉及的列,而不是整個行。示例代碼--創(chuàng)建Parquet格式的表

CREATETABLEIFNOTEXISTSusers(

user_idINT,

nameSTRING,

ageINT

)

ROWFORMATSERDE'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'

STOREDASPARQUET;5.2.3優(yōu)化小文件問題Hive處理大量小文件時性能會下降。可以通過合并小文件或使用INSERTOVERWRITE語句來優(yōu)化。示例代碼--使用INSERTOVERWRITE合并小文件

INSERTOVERWRITETABLEsales

SELECTproduct_id,sale_date,quantity,price

FROMsales

WHEREyear=2023ANDmonth=1;5.2.4使用動態(tài)分區(qū)動態(tài)分區(qū)在運行時確定分區(qū)值,可以避免在查詢中生成大量小文件。示例代碼--使用動態(tài)分區(qū)插入數據

INSERTOVERWRITETABLEsales

PARTITION(year,month)

SELECTproduct_id,sale_date,quantity,price,YEAR(sale_date)asyear,MONTH(sale_date)asmonth

FROMsales

WHEREYEAR(sale_date)=2023;5.2.5優(yōu)化數據傾斜數據傾斜是指數據在分區(qū)或桶中的分布不均勻,這會導致查詢性能下降。可以通過調整分區(qū)或桶的策略來優(yōu)化。示例代碼--通過增加桶的數量優(yōu)化數據傾斜

ALTERTABLEsalesCLUSTERBY(product_id)INTO100BUCKETS;通過以上技巧和示例,可以有效地優(yōu)化Hive的查詢性能和數據存儲格式,從而提高數據倉庫的整體效率。6Hive在大數據生態(tài)系統(tǒng)中的角色6.1Hive與Hadoop的集成Hive是建立在Hadoop之上的數據倉庫工具,它提供了一種SQL-like的查詢語言,稱為HiveQL,使用戶能夠更方便地處理存儲在Hadoop文件系統(tǒng)(HDFS)中的大規(guī)模數據集。Hive的主要優(yōu)勢在于它能夠將復雜的MapReduce任務轉換為簡單的SQL查詢,從而降低了大數據處理的門檻。6.1.1原理Hive通過將SQL查詢轉換為MapReduce作業(yè)來執(zhí)行數據處理。當用戶提交一個HiveQL查詢時,Hive的編譯器會解析這個查詢,將其轉換為一系列的MapReduce任務。這些任務隨后被提交到Hadoop集群上執(zhí)行,處理完成后,結果會被存儲回HDFS。6.1.2示例假設我們有一個存儲在HDFS上的CSV文件,包含用戶信息,文件名為users.csv,數據格式如下:id,first_name,last_name,age

1,John,Doe,30

2,Jane,Smith,25

3,Michael,Johnson,35我們可以使用Hive來查詢年齡大于30的用戶:--創(chuàng)建Hive表

CREATETABLEusers(

idINT,

first_nameSTRING,

last_nameSTRING,

ageINT

)

ROWFORMATDELIMITED

FIELDSTERMINATEDBY','

STOREDASTEXTFILE;

--加載數據

LOADDATAINP

溫馨提示

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

評論

0/150

提交評論