中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當前位置: 首頁 > news >正文

設計需要看的網(wǎng)站有哪些seo英文怎么讀

設計需要看的網(wǎng)站有哪些,seo英文怎么讀,備案網(wǎng)站簡介怎么寫,青島設計網(wǎng)站的公司【圖書介紹】《Spark SQL大數(shù)據(jù)分析快速上手》-CSDN博客 《Spark SQL大數(shù)據(jù)分析快速上手》【摘要 書評 試讀】- 京東圖書 Spark本地模式安裝_spark3.2.2本地模式安裝-CSDN博客 DML(Data Manipulation Language,數(shù)據(jù)操作語言)操作主要用來對…

【圖書介紹】《Spark SQL大數(shù)據(jù)分析快速上手》-CSDN博客

《Spark SQL大數(shù)據(jù)分析快速上手》【摘要 書評 試讀】- 京東圖書

Spark本地模式安裝_spark3.2.2本地模式安裝-CSDN博客

DML(Data Manipulation Language,數(shù)據(jù)操作語言)操作主要用來對數(shù)據(jù)進行插入、更新和刪除操作。本節(jié)主要介紹Spark SQL中的DML操作。

Spark SQL提供了一個命令行工具,可以讓用戶直接通過命令行運行SQL查詢。Spark SQL可以兼容Hive,以便Spark SQL支持Hive表訪問、UDF(用戶自定義函數(shù))以及Hive查詢語言(HiveQL/HQL)。

若要使用Spark SQL CLI的方式訪問和操作Hive表數(shù)據(jù),需要對Spark SQL進行如下所示的環(huán)境配置,將Spark SQL連接到一個部署好的Hive上。

(1)將hive-site.xml復制到/home/hadoop/app/spark/conf/目錄下。

(2)在/home/hadoop/app/spark/conf/spark-env.sh文件中配置MySQL驅(qū)動。

將MySQL驅(qū)動復制到所有節(jié)點的Spark安裝包的jars目錄下,并在/home/hadoop/app/spark/ conf/spark-env.sh末尾添加以下內(nèi)容:

export SPARK_CLASSPATH=/home/hadoop/app/spark/jars/mysl-connector-java-5.1.32.jar

然后,啟動MySQL服務。

(3)啟動 Hive的metastore服務:hive–service metastore &。

(4)進入/home/hadoop/app/spark/sbin/目錄,執(zhí)行./start-all.sh,啟動Spark。

(5)進入/home/hadoop/app/spark/bin目錄,執(zhí)行./spark-sql,開啟Spark SQL CLI。

spark-sql本質(zhì)上是通過spark-submit調(diào)用Spark SQL的API,每個spark-sql單獨啟動一個應用。

一旦進入Spark SQL CLI,就可以執(zhí)行SQL語句。在DML語句中,通過建表語句中的Using子句來指定具體的數(shù)據(jù)源類型。如果沒有通過Using指定,則默認是通過Hive建表,相當于直接通過Spark SQL來操作Hive表的數(shù)據(jù)。

5.2.1 ?插入數(shù)據(jù)

INSERT語句將新行插入表中或覆蓋表中的現(xiàn)有數(shù)據(jù)。插入的行可以由值表達式或查詢結(jié)果指定。

1. 使用VALUES子句進行單行插入
CREATE TABLE students (name VARCHAR(64), address VARCHAR(64))USING PARQUET PARTITIONED BY (student_id INT);
INSERT INTO students VALUES('Amy Smith', '123 Park Ave, San Jose', 111111);SELECT * FROM students;
+---------+----------------------+----------+
|     name|    address           |student_id|
+---------+----------------------+----------+
|Amy Smith|123 Park Ave, San Jose|    111111|
+---------+----------------------+----------+

2. 使用VALUES子句進行多行插入

INSERT INTO students VALUES('Bob Brown', '456 Taylor St, Cupertino', 222222),('Cathy Johnson', '789 Race Ave, Palo Alto', 333333);SELECT * FROM students;
+-------------+------------------------+----------+
|         name|                 address|student_id|
+-------------+------------------------+----------+
|    Amy Smith|  123 Park Ave, San Jose|    111111|
+-------------+------------------------+----------+
|    Bob Brown|456 Taylor St, Cupertino|    222222|
+-------------+------------------------+----------+
|Cathy Johnson| 789 Race Ave, Palo Alto|    333333|
+--------------+-----------------------+----------+
3. 使用SELECT語句插入數(shù)據(jù)

假設已經(jīng)創(chuàng)建了一張persons表,里面包含兩條數(shù)據(jù):

SELECT * FROM persons;
+-------------+--------------------------+---------+
|         name|                   address|      ssn|
+-------------+--------------------------+---------+
|Dora Williams|134 Forest Ave, Menlo Park|123456789|
+-------------+--------------------------+---------+
|  Eddie Davis|   245 Market St, Milpitas|345678901|
+-------------+--------------------------+---------+INSERT INTO students PARTITION (student_id = 444444)SELECT name, address FROM persons WHERE name = "Dora Williams";

使用SELECT語句插入一條數(shù)據(jù),查詢結(jié)果如下:

SELECT * FROM students;
+-------------+--------------------------+----------+
|         name|                   address|student_id|
+-------------+--------------------------+----------+
|    Amy Smith|    123 Park Ave, San Jose|    111111|
+-------------+--------------------------+----------+
|    Bob Brown|  456 Taylor St, Cupertino|    222222|
+-------------+--------------------------+----------+
|Cathy Johnson|   789 Race Ave, Palo Alto|    333333|
+-------------+--------------------------+----------+
|Dora Williams|134 Forest Ave, Menlo Park|    444444|
+-------------+--------------------------+----------+
4. 使用TABLE語句插入數(shù)據(jù)

提前創(chuàng)建一張表visiting_students,插入兩條數(shù)據(jù),查詢結(jié)果顯示如下:

SELECT * FROM visiting_students;
+-------------+---------------------+----------+
|         name|              address|student_id|
+-------------+---------------------+----------+
|Fleur Laurent|345 Copper St, London|    777777|
+-------------+---------------------+----------+
|Gordon Martin| 779 Lake Ave, Oxford|    888888|
+-------------+---------------------+----------+

然后利用Table語句將visiting_students表的數(shù)據(jù)插入students表中。注意,這里不是覆蓋,而是追加數(shù)據(jù)。

INSERT INTO students TABLE visiting_students;SELECT * FROM students;
+-------------+--------------------------+----------+
|         name|                   address|student_id|
+-------------+--------------------------+----------+
|    Amy Smith|    123 Park Ave, San Jose|    111111|
+-------------+--------------------------+----------+
|    Bob Brown|  456 Taylor St, Cupertino|    222222|
+-------------+--------------------------+----------+
|Cathy Johnson|   789 Race Ave, Palo Alto|    333333|
+-------------+--------------------------+----------+
|Dora Williams|134 Forest Ave, Menlo Park|    444444|
+-------------+--------------------------+----------+
|Fleur Laurent|     345 Copper St, London|    777777|
+-------------+--------------------------+----------+
|Gordon Martin|      779 Lake Ave, Oxford|    888888|
+-------------+--------------------------+----------+
5. 使用列列表插入數(shù)據(jù)
INSERT INTO students (address, name, student_id) VALUES('Hangzhou, China', 'Kent Yao', 11215016);SELECT * FROM students WHERE name = 'Kent Yao';
+---------+----------------------+----------+
|     name|               address|student_id|
+---------+----------------------+----------+
|Kent Yao |       Hangzhou, China|  11215016|
+---------+----------------------+----------+

5.2.2 ?加載數(shù)據(jù)

LOAD DATA語句將數(shù)據(jù)從用戶指定的目錄或文件加載到Hive表中。如果指定了目錄,則加載該目錄中的所有文件;如果指定了文件,則僅加載單個文件。此外,該LOAD DATA語句還采用可選的分區(qū)規(guī)范。當指定分區(qū)時,數(shù)據(jù)文件(當輸入源是目錄時)或單個文件(當輸入源是文件時)被加載到目標表的分區(qū)中。

如果該表已緩存,則該命令會清除該表的緩存數(shù)據(jù)以及引用該表的所有依賴項。下次訪問表或依賴項時,緩存將被延遲填充。

LOAD DATA語句的格式如下:

LOAD DATA [ LOCAL ] INPATH path [ OVERWRITE ] INTO TABLE table_identifier [ partition_spec ]

下面舉例說明加載數(shù)據(jù)的用法。

首先,創(chuàng)建表students,并添加一條數(shù)據(jù):

CREATE TABLE students (name VARCHAR(64), address VARCHAR(64))USING HIVE PARTITIONED BY (student_id INT);
INSERT INTO students VALUES('Amy Smith', '123 Park Ave, San Jose', 111111);SELECT * FROM students;
+---------+----------------------+----------+
|     name|    address           |student_id|
+---------+----------------------+----------+
|Amy Smith|123 Park Ave, San Jose|    111111|
+---------+----------------------+----------+

在Spark SQL中,可以使用CREATE TABLE語句結(jié)合USING HIVE選項,來創(chuàng)建一個指向Hive表的Spark SQL表。這允許我們利用Spark SQL進行查詢,但數(shù)據(jù)和元數(shù)據(jù)仍然存儲在Hive中。示例代碼如下:

CREATE TABLE my_spark_table
USING HIVE
OPTIONS (tableName "my_hive_table"
)

在這個例子中,my_spark_table是在Spark SQL中創(chuàng)建的表的名稱,而my_hive_table是Hive中已存在的表的名稱。當查詢my_spark_table時,Spark SQL會查詢Hive中的my_hive_table表。

接下來用Spark SQL創(chuàng)建一張表test_load,該表的數(shù)據(jù)和元數(shù)據(jù)會指向Hive中。最后將students表中的數(shù)據(jù)加載到test_load表中。

CREATE TABLE test_load (name VARCHAR(64), address VARCHAR(64), student_id INT) USING HIVE;
LOAD DATA LOCAL INPATH '/user/hive/warehouse/students' OVERWRITE INTO TABLE test_load;SELECT * FROM test_load;
+---------+----------------------+----------+
|     name|            address   |student_id|
+---------+----------------------+----------+
|Amy Smith|123 Park Ave, San Jose|    111111|
+---------+----------------------+----------+

如何優(yōu)化Spark SQL中的DML操作,以提升大數(shù)據(jù)分析性能,尤其是在高并發(fā)插入和更新操作場景下?

在Spark SQL中優(yōu)化DML操作,尤其是高并發(fā)的插入和更新操作,可以通過以下方法來提升性能:

  1. 數(shù)據(jù)本地性優(yōu)化:確保Spark任務能夠訪問到數(shù)據(jù)的本地副本,以減少網(wǎng)絡延遲。

  2. 分區(qū)表:使用分區(qū)表可以顯著減少需要掃描的數(shù)據(jù)量,提升查詢性能。

  3. 索引:適當?shù)乃饕梢约涌觳樵兯俣?#xff0c;但是應當注意,過多的索引會影響寫操作性能。

  4. 批量操作:使用批量插入和更新,而不是單條操作,可以減少網(wǎng)絡開銷和Spark任務的啟動時間。

  5. 動態(tài)分區(qū)插入:對于分區(qū)表,使用INSERT OVERWRITE代替INSERT,可以避免在每次插入時重新計算分區(qū)。

  6. 內(nèi)存優(yōu)化:調(diào)整Spark執(zhí)行內(nèi)存參數(shù),確保內(nèi)存使用最優(yōu)化。

  7. 并行度控制:適當控制Spark任務的并行度,避免資源過度競爭。

  8. 數(shù)據(jù)壓縮:在存儲層面優(yōu)化數(shù)據(jù)壓縮方式,減少存儲空間同時提升讀寫性能。

在實際應用中,根據(jù)具體的數(shù)據(jù)特征、資源限制和業(yè)務需求,可能需要進一步的調(diào)優(yōu)以達到最優(yōu)性能。

?

http://www.risenshineclean.com/news/53686.html

相關(guān)文章:

  • 自己做的網(wǎng)站如何被百度檢索優(yōu)秀的軟文廣告案例
  • 網(wǎng)站建設優(yōu)化服務好么搜狗站長平臺驗證網(wǎng)站
  • 太原網(wǎng)站制作電話百度搜索排行
  • 全球最好的設計網(wǎng)站怎么找拉新推廣平臺
  • 網(wǎng)站建設公司公司好免費b2b推廣網(wǎng)站大全
  • 網(wǎng)站建設軟件下載西安seo服務公司
  • 網(wǎng)站的字體做多大合適如何推廣自己的產(chǎn)品
  • 建站公司maxsem競價托管多少錢
  • 網(wǎng)站開發(fā)人月薪網(wǎng)絡營銷方法有哪幾種
  • 做現(xiàn)貨IC電子網(wǎng)站的惠州seo計費管理
  • 做網(wǎng)站有地域限制嗎專業(yè)seo站長工具
  • 二級域名子域名大全領碩網(wǎng)站seo優(yōu)化
  • 淘寶網(wǎng)作圖做網(wǎng)站網(wǎng)站托管代運營
  • wordpress買域名百度搜索排名優(yōu)化哪家好
  • 如何注銷網(wǎng)站備案號數(shù)據(jù)分析培訓班
  • 網(wǎng)站的運營管理方案長沙seo結(jié)算
  • seo如何根據(jù)網(wǎng)站數(shù)據(jù)做報表怎么找專業(yè)的營銷團隊
  • 如何做轉(zhuǎn)運網(wǎng)站引流推廣犯法嗎
  • wordpress添加版權(quán)信息如何進行網(wǎng)站性能優(yōu)化
  • 怎么做直播網(wǎng)站超管做網(wǎng)絡推廣的團隊
  • 有道網(wǎng)站提交入口網(wǎng)站推廣論壇
  • 釣魚網(wǎng)站到底怎么做株洲網(wǎng)站設計外包首選
  • 網(wǎng)站建設與域名建設國際時事新聞最新消息
  • 建網(wǎng)站為什么每年都要續(xù)費鄭州seo博客
  • java 網(wǎng)站制作汽車營銷策劃方案ppt
  • 上海營銷型網(wǎng)站設計蚌埠seo外包
  • 上海找做網(wǎng)站公司哪家好google google
  • 重慶網(wǎng)站聯(lián)盟鄭州競價代運營公司
  • 國外最大的設計網(wǎng)站有哪些方面seo外鏈網(wǎng)
  • 《商務網(wǎng)站開發(fā)》 實訓報告書網(wǎng)絡營銷的主要傳播渠道是