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

當(dāng)前位置: 首頁(yè) > news >正文

醫(yī)療網(wǎng)站做藥品是干嘛搜索引擎營(yíng)銷的案例有哪些

醫(yī)療網(wǎng)站做藥品是干嘛,搜索引擎營(yíng)銷的案例有哪些,B2C網(wǎng)站開發(fā)功能表,硬件開發(fā)平臺(tái)有哪些官網(wǎng) ClickHouse release 24.1, 2024-01-30 以毫秒為單位查詢數(shù)十億行 ClickHouse是用于實(shí)時(shí)應(yīng)用和分析的最快、資源效率最高的開源數(shù)據(jù)庫(kù)。 安裝ClickHouse 使用ClickHouse,你有三個(gè)選擇: ClickHouse云:官方ClickHouse作為一項(xiàng)服務(wù),-由ClickHouse的創(chuàng)…

官網(wǎng)
ClickHouse release 24.1, 2024-01-30

以毫秒為單位查詢數(shù)十億行

ClickHouse是用于實(shí)時(shí)應(yīng)用和分析的最快、資源效率最高的開源數(shù)據(jù)庫(kù)。

安裝ClickHouse

使用ClickHouse,你有三個(gè)選擇:

  • ClickHouse云:官方ClickHouse作為一項(xiàng)服務(wù),-由ClickHouse的創(chuàng)建者構(gòu)建,維護(hù)和支持
  • 快速安裝:一個(gè)易于下載的二進(jìn)制測(cè)試和開發(fā)與ClickHouse
  • 生產(chǎn)部署:ClickHouse可以運(yùn)行在任何Linux, FreeBSD,或macOS與x86-64, ARM,或PowerPC64LE CPU架構(gòu)
  • Docker鏡像:使用Docker Hub中的官方Docker鏡像

1、什么是ClickHouse?

ClickHouse?是一個(gè)高性能,面向列的SQL數(shù)據(jù)庫(kù)管理系統(tǒng)(DBMS),用于在線分析處理(OLAP)。它既可以作為開源軟件,也可以作為云服務(wù)。

1.1 什么是OLAP?

OLAP場(chǎng)景需要在大型數(shù)據(jù)集之上的實(shí)時(shí)響應(yīng),用于具有以下特征的復(fù)雜分析查詢:

  • 數(shù)據(jù)集可以是巨大的——數(shù)十億或數(shù)萬億行
  • 數(shù)據(jù)組織在包含許多列的表中
  • 只選擇幾個(gè)列來回答任何特定的查詢
  • 結(jié)果必須以毫秒或秒為單位返回

1.2 面向列與面向行數(shù)據(jù)庫(kù)

在面向行的DBMS中,數(shù)據(jù)以行為單位存儲(chǔ),與一行相關(guān)的所有值在物理上彼此相鄰存儲(chǔ)。

在面向列的DBMS中,數(shù)據(jù)存儲(chǔ)在列中,來自相同列的值存儲(chǔ)在一起。

1.3 為什么面向列的數(shù)據(jù)庫(kù)在OLAP場(chǎng)景中工作得更好

面向列的數(shù)據(jù)庫(kù)更適合OLAP場(chǎng)景:它們?cè)谔幚泶蠖鄶?shù)查詢時(shí)至少快100倍

1.4 為什么ClickHouse這么快?

ClickHouse使用所有可用的系統(tǒng)資源來充分發(fā)揮其潛力,以盡可能快地處理每個(gè)分析查詢。這是由于分析功能和對(duì)實(shí)現(xiàn)最快的OLAP數(shù)據(jù)庫(kù)所需的底層細(xì)節(jié)的關(guān)注的獨(dú)特組合而成為可能的。

深入了解這個(gè)主題的有用文章包括:

  • ClickHouse Performance
  • Distinctive Features of ClickHouse
  • FAQ: Why is ClickHouse so fast?

1.5 實(shí)時(shí)處理分析查詢

在面向行的DBMS中,數(shù)據(jù)是按以下順序存儲(chǔ)的:
在這里插入圖片描述
換句話說,與一行相關(guān)的所有值在物理上都是挨個(gè)存儲(chǔ)的。

面向行的DBMS的例子有MySQL、Postgres和MS SQL Server。

在面向列的DBMS中,數(shù)據(jù)是這樣存儲(chǔ)的:

在這里插入圖片描述
這些例子只顯示了數(shù)據(jù)排列的順序。來自不同列的值被分開存儲(chǔ),來自同一列的數(shù)據(jù)被一起存儲(chǔ)。

面向列DBMS的例子:Vertica, Paraccel (Actian Matrix和Amazon Redshift), Sybase IQ, Exasol, Infobright, InfiniDB, MonetDB (VectorWise和Actian Vector), LucidDB, SAP HANA, Google Dremel, Google PowerDrill, Druid和kdb+。

不同的數(shù)據(jù)存儲(chǔ)順序更適合不同的場(chǎng)景。數(shù)據(jù)訪問場(chǎng)景指的是進(jìn)行什么查詢、查詢的頻率和比例;每種查詢類型要讀取多少數(shù)據(jù)——行、列和字節(jié);讀取和更新數(shù)據(jù)的關(guān)系;數(shù)據(jù)的工作大小以及如何在本地使用它;是否使用事務(wù),以及它們的隔離程度;數(shù)據(jù)復(fù)制和邏輯完整性要求;對(duì)每種查詢類型的延遲和吞吐量的需求,等等。

系統(tǒng)負(fù)載越高,定制系統(tǒng)設(shè)置以匹配使用場(chǎng)景的需求就越重要,定制的粒度也就越細(xì)。沒有一個(gè)系統(tǒng)能同樣適合于不同的場(chǎng)景。如果系統(tǒng)能夠適應(yīng)廣泛的場(chǎng)景,那么在高負(fù)載下,系統(tǒng)處理所有場(chǎng)景的能力都很差,或者只能很好地處理一個(gè)或幾個(gè)可能的場(chǎng)景。

OLAP場(chǎng)景的關(guān)鍵屬性

  • 表是“寬”的,這意味著它們包含大量的列。
  • 數(shù)據(jù)集很大,查詢?cè)谔幚韱蝹€(gè)查詢時(shí)需要高吞吐量(每臺(tái)服務(wù)器每秒多達(dá)數(shù)十億行)。
  • 列值相當(dāng)小:數(shù)字和短字符串(例如,每個(gè)URL 60字節(jié))。
  • 查詢提取大量行,但只提取一小部分列。
  • 對(duì)于簡(jiǎn)單的查詢,允許大約50毫秒的延遲。
  • 每個(gè)查詢都有一個(gè)大表;所有的表都很小,除了一張。
  • 查詢結(jié)果明顯小于源數(shù)據(jù)。換句話說,數(shù)據(jù)被過濾或聚合,因此結(jié)果適合單個(gè)服務(wù)器的RAM。
  • 查詢相對(duì)較少(通常每個(gè)服務(wù)器每秒有數(shù)百個(gè)或更少的查詢)。
  • 插入以相當(dāng)大的批量(> 1000行)進(jìn)行,而不是以單行進(jìn)行。
  • 事務(wù)是不必要的。

很容易看出,OLAP場(chǎng)景與其他流行的場(chǎng)景(如OLTP或Key-Value訪問)非常不同。因此,如果您想獲得良好的性能,嘗試使用OLTP或Key-Value DB來處理分析查詢是沒有意義的。例如,如果您嘗試使用MongoDB或Redis進(jìn)行分析,那么與OLAP數(shù)據(jù)庫(kù)相比,您將獲得非常差的性能。

輸入輸出

1)對(duì)于分析查詢,只需要讀取少量的表列。在面向列的數(shù)據(jù)庫(kù)中,您可以只讀取所需的數(shù)據(jù)。例如,如果您需要100列中的5列,那么I/O可以減少20倍。
2)由于數(shù)據(jù)是以塊(packets)的形式讀取的,因此更容易壓縮。列中的數(shù)據(jù)也更容易壓縮。這進(jìn)一步減少了I/O量。
3)由于減少了I/O,更多的數(shù)據(jù)可以放入系統(tǒng)緩存。

例如,查詢“計(jì)數(shù)每個(gè)廣告平臺(tái)的記錄數(shù)”需要讀取一個(gè)“廣告平臺(tái)ID”列,該列未壓縮占用1字節(jié)。如果大多數(shù)流量不是來自廣告平臺(tái),你可以預(yù)期這個(gè)專欄的壓縮至少是原來的10倍。當(dāng)使用快速壓縮算法時(shí),可以以每秒至少幾gb的未壓縮數(shù)據(jù)的速度進(jìn)行數(shù)據(jù)解壓縮。換句話說,該查詢可以在單個(gè)服務(wù)器上以大約每秒幾十億行的速度處理。這個(gè)速度實(shí)際上是在實(shí)踐中達(dá)到的。

CPU

由于執(zhí)行查詢需要處理大量行,因此可以為整個(gè)向量(vectors )而不是單獨(dú)的行分派所有操作,或者實(shí)現(xiàn)查詢引擎,以便幾乎沒有分派成本。如果不這樣做,對(duì)于任何不太好的磁盤子系統(tǒng),查詢解釋器不可避免地會(huì)使CPU停滯。在列中存儲(chǔ)數(shù)據(jù)和在可能的情況下按列處理數(shù)據(jù)是有意義的。

有兩種方法:
1)矢量引擎。所有的操作都是針對(duì)向量編寫的,而不是針對(duì)單獨(dú)的值。這意味著您不需要經(jīng)常調(diào)用操作,并且調(diào)度成本可以忽略不計(jì)。操作代碼包含一個(gè)優(yōu)化的內(nèi)部循環(huán)。

2)代碼生成。為查詢生成的代碼包含所有間接調(diào)用。

在面向行的數(shù)據(jù)庫(kù)中不會(huì)這樣做,因?yàn)樵谶\(yùn)行簡(jiǎn)單查詢時(shí),這樣做沒有意義。然而,也有例外。例如,MemSQL使用代碼生成來減少處理SQL查詢時(shí)的延遲。(相比之下,分析型DBMS需要優(yōu)化吞吐量,而不是延遲。)

注意,為了提高CPU效率,查詢語言必須是聲明式的(SQL或MDX),或者至少是向量(J, K)。查詢應(yīng)該只包含隱式循環(huán),以便進(jìn)行優(yōu)化。

2、Quick Start

2.1 下載二進(jìn)制文件

ClickHouse本機(jī)運(yùn)行在Linux、FreeBSD和macOS上,并通過WSL運(yùn)行在Windows上。在本地下載ClickHouse的最簡(jiǎn)單方法是運(yùn)行以下curl命令。它決定你的操作系統(tǒng)是否被支持,然后下載一個(gè)合適的ClickHouse二進(jìn)制文件:

curl https://clickhouse.com/ | sh# 安裝./clickhouse installStart clickhouse-server with:sudo clickhouse startStart clickhouse-client with:clickhouse-client --password

2.2 啟動(dòng)服務(wù)器

運(yùn)行如下命令啟動(dòng)ClickHouse服務(wù):

./clickhouse server

2.3 啟動(dòng)客戶端

使用ClickHouse -client連接到ClickHouse服務(wù)。打開一個(gè)新的終端,更改clickhouse二進(jìn)制文件的保存目錄,并運(yùn)行以下命令:

./clickhouse client

當(dāng)它連接到本地主機(jī)上運(yùn)行的服務(wù)時(shí),你應(yīng)該看到一個(gè)笑臉:

my-host :)

2.4 創(chuàng)建表

使用CREATE TABLE定義一個(gè)新表。典型的SQL DDL命令與一個(gè)添加可以工作在ClickHouse-表在ClickHouse需要一個(gè)ENGINE子句。使用MergeTree來利用ClickHouse的性能優(yōu)勢(shì):

CREATE TABLE my_first_table
(user_id UInt32,message String,timestamp DateTime,metric Float32
)
ENGINE = MergeTree
PRIMARY KEY (user_id, timestamp)

2.5 插入數(shù)據(jù)

您可以在ClickHouse中使用熟悉的INSERT INTO TABLE命令,但重要的是要了解,每次插入到MergeTree表中都會(huì)導(dǎo)致在存儲(chǔ)中創(chuàng)建一個(gè)part (文件夾)。為了最小化parts,一次批量插入許多行(一次插入數(shù)萬甚至數(shù)百萬行)。

INSERT INTO my_first_table (user_id, message, timestamp, metric) VALUES(101, 'Hello, ClickHouse!',                                 now(),       -1.0    ),(102, 'Insert a lot of rows per batch',                     yesterday(), 1.41421 ),(102, 'Sort your data based on your commonly-used queries', today(),     2.718   ),(101, 'Granules are the smallest chunks of data read',      now() + 5,   3.14159 )

2.6 查詢新表

你可以寫一個(gè)SELECT查詢,就像你會(huì)用任何SQL數(shù)據(jù)庫(kù):

 SELECT *FROM my_first_tableORDER BY timestamp

注意,響應(yīng)以一個(gè)漂亮的表格格式返回:
在這里插入圖片描述

2.7 插入自己的數(shù)據(jù)

下一步是將你當(dāng)前的數(shù)據(jù)輸入ClickHouse。我們有很多表函數(shù)和集成來獲取數(shù)據(jù)。我們?cè)谙旅娴倪x項(xiàng)卡中有一些例子,或者查看我們的集成列表,了解與ClickHouse集成的一長(zhǎng)串技術(shù)。
在這里插入圖片描述

下一步?

  • 查看高級(jí)教程,深入了解ClickHouse的關(guān)鍵概念和功能
  • 通過參加ClickHouse Academy的免費(fèi)點(diǎn)播培訓(xùn)課程繼續(xù)學(xué)習(xí)
  • 我們有一個(gè)示例數(shù)據(jù)集的列表,并說明如何插入它們
  • 如果您的數(shù)據(jù)來自外部源,請(qǐng)查看我們的集成指南集,了解如何連接到消息隊(duì)列、數(shù)據(jù)庫(kù)、管道等
  • 如果您使用的是UI/BI可視化工具,請(qǐng)查看連接UI到ClickHouse的-用戶指南
  • 關(guān)于主鍵的用戶指南是您需要了解的關(guān)于主鍵以及如何定義它們的所有內(nèi)容

3、高級(jí)教程

在本教程中,您將創(chuàng)建一個(gè)表并插入一個(gè)大型數(shù)據(jù)集(200萬行紐約出租車數(shù)據(jù))。然后,您將在數(shù)據(jù)集上運(yùn)行查詢,包括如何創(chuàng)建字典并使用它執(zhí)行JOIN的示例。

3.1 創(chuàng)建一個(gè)新表

紐約市的出租車數(shù)據(jù)包含數(shù)百萬次出租車出行的詳細(xì)信息,包括接送時(shí)間和地點(diǎn)、成本、小費(fèi)金額、通行費(fèi)、付款類型等列。讓我們創(chuàng)建一個(gè)表來存儲(chǔ)這些數(shù)據(jù)…

連接到SQL控制臺(tái)

default數(shù)據(jù)庫(kù)中創(chuàng)建如下trips表:

CREATE TABLE trips
(`trip_id` UInt32,`vendor_id` Enum8('1' = 1, '2' = 2, '3' = 3, '4' = 4, 'CMT' = 5, 'VTS' = 6, 'DDS' = 7, 'B02512' = 10, 'B02598' = 11, 'B02617' = 12, 'B02682' = 13, 'B02764' = 14, '' = 15),`pickup_date` Date,`pickup_datetime` DateTime,`dropoff_date` Date,`dropoff_datetime` DateTime,`store_and_fwd_flag` UInt8,`rate_code_id` UInt8,`pickup_longitude` Float64,`pickup_latitude` Float64,`dropoff_longitude` Float64,`dropoff_latitude` Float64,`passenger_count` UInt8,`trip_distance` Float64,`fare_amount` Float32,`extra` Float32,`mta_tax` Float32,`tip_amount` Float32,`tolls_amount` Float32,`ehail_fee` Float32,`improvement_surcharge` Float32,`total_amount` Float32,`payment_type` Enum8('UNK' = 0, 'CSH' = 1, 'CRE' = 2, 'NOC' = 3, 'DIS' = 4),`trip_type` UInt8,`pickup` FixedString(25),`dropoff` FixedString(25),`cab_type` Enum8('yellow' = 1, 'green' = 2, 'uber' = 3),`pickup_nyct2010_gid` Int8,`pickup_ctlabel` Float32,`pickup_borocode` Int8,`pickup_ct2010` String,`pickup_boroct2010` String,`pickup_cdeligibil` String,`pickup_ntacode` FixedString(4),`pickup_ntaname` String,`pickup_puma` UInt16,`dropoff_nyct2010_gid` UInt8,`dropoff_ctlabel` Float32,`dropoff_borocode` UInt8,`dropoff_ct2010` String,`dropoff_boroct2010` String,`dropoff_cdeligibil` String,`dropoff_ntacode` FixedString(4),`dropoff_ntaname` String,`dropoff_puma` UInt16
)
ENGINE = MergeTree
PARTITION BY toYYYYMM(pickup_date)
ORDER BY pickup_datetime;

3.2 插入數(shù)據(jù)集

現(xiàn)在已經(jīng)創(chuàng)建了一個(gè)表,讓我們添加NYC出租車數(shù)據(jù)。它在S3中的CSV文件中,您可以從那里加載數(shù)據(jù)。

1)下面的命令將來自S3中兩個(gè)不同文件的~2,000,000行插入到trips表中:
trips_1.tsv.gz and trips_2.tsv.gz

INSERT INTO trips
SELECT * FROM s3('https://datasets-documentation.s3.eu-west-3.amazonaws.com/nyc-taxi/trips_{1..2}.gz','TabSeparatedWithNames', "`trip_id` UInt32,`vendor_id` Enum8('1' = 1, '2' = 2, '3' = 3, '4' = 4, 'CMT' = 5, 'VTS' = 6, 'DDS' = 7, 'B02512' = 10, 'B02598' = 11, 'B02617' = 12, 'B02682' = 13, 'B02764' = 14, '' = 15),`pickup_date` Date,`pickup_datetime` DateTime,`dropoff_date` Date,`dropoff_datetime` DateTime,`store_and_fwd_flag` UInt8,`rate_code_id` UInt8,`pickup_longitude` Float64,`pickup_latitude` Float64,`dropoff_longitude` Float64,`dropoff_latitude` Float64,`passenger_count` UInt8,`trip_distance` Float64,`fare_amount` Float32,`extra` Float32,`mta_tax` Float32,`tip_amount` Float32,`tolls_amount` Float32,`ehail_fee` Float32,`improvement_surcharge` Float32,`total_amount` Float32,`payment_type` Enum8('UNK' = 0, 'CSH' = 1, 'CRE' = 2, 'NOC' = 3, 'DIS' = 4),`trip_type` UInt8,`pickup` FixedString(25),`dropoff` FixedString(25),`cab_type` Enum8('yellow' = 1, 'green' = 2, 'uber' = 3),`pickup_nyct2010_gid` Int8,`pickup_ctlabel` Float32,`pickup_borocode` Int8,`pickup_ct2010` String,`pickup_boroct2010` String,`pickup_cdeligibil` String,`pickup_ntacode` FixedString(4),`pickup_ntaname` String,`pickup_puma` UInt16,`dropoff_nyct2010_gid` UInt8,`dropoff_ctlabel` Float32,`dropoff_borocode` UInt8,`dropoff_ct2010` String,`dropoff_boroct2010` String,`dropoff_cdeligibil` String,`dropoff_ntacode` FixedString(4),`dropoff_ntaname` String,`dropoff_puma` UInt16
") SETTINGS input_format_try_infer_datetimes = 0

2)等待INSERT操作完成——下載150mb的數(shù)據(jù)可能需要一些時(shí)間。

s3函數(shù)很聰明地知道如何解壓縮數(shù)據(jù),TabSeparatedWithNames格式告訴ClickHouse數(shù)據(jù)是用制表符分隔的,并跳過每個(gè)文件的標(biāo)題行。

3)當(dāng)插入完成后,驗(yàn)證它是否工作:

SELECT count() FROM trips

您應(yīng)該看到大約2M行(準(zhǔn)確地說是1,999,657行)。
在這里插入圖片描述
注意ClickHouse需要處理的行數(shù)和速度有多快?只需處理6行,就可以在0.001秒內(nèi)得到計(jì)數(shù)。(6恰好是trips表當(dāng)前擁有的parts 數(shù),部件知道它們有多少行。)

4)如果你運(yùn)行一個(gè)需要訪問每一行的查詢,你會(huì)注意到需要處理更多的行,但運(yùn)行時(shí)間仍然非???

SELECT DISTINCT(pickup_ntaname) FROM trips

在這里插入圖片描述

該查詢必須處理2M行并返回190個(gè)值,但請(qǐng)注意,它在大約1秒內(nèi)完成了此操作。pickup_ntaname列表示出租車在紐約市的開始地。

3.3 分析數(shù)據(jù)

讓我們運(yùn)行一些查詢來分析這2M行數(shù)據(jù)…

1)我們將從一些簡(jiǎn)單的計(jì)算開始,比如計(jì)算平均小費(fèi)金額:

SELECT round(avg(tip_amount), 2) FROM trips

在這里插入圖片描述
2)下面的查詢基于乘客數(shù)量計(jì)算平均成本:

SELECTpassenger_count,ceil(avg(total_amount),2) AS average_total_amount
FROM trips
GROUP BY passenger_count

在這里插入圖片描述

3)下面是一個(gè)查詢,計(jì)算每個(gè)社區(qū)每天的接送次數(shù):

SELECTpickup_date,pickup_ntaname,SUM(1) AS number_of_trips
FROM trips
GROUP BY pickup_date, pickup_ntaname
ORDER BY pickup_date ASC

在這里插入圖片描述
4)該查詢計(jì)算行程長(zhǎng)度,并根據(jù)該值對(duì)結(jié)果進(jìn)行分組:

SELECTavg(tip_amount) AS avg_tip,avg(fare_amount) AS avg_fare,avg(passenger_count) AS avg_passenger,count() AS count,truncate(date_diff('second', pickup_datetime, dropoff_datetime)/60) as trip_minutes
FROM trips
WHERE trip_minutes > 0
GROUP BY trip_minutes
ORDER BY trip_minutes DESC

在這里插入圖片描述
5)這個(gè)查詢顯示了每個(gè)社區(qū)的接送次數(shù),按小時(shí)分列:

SELECTpickup_ntaname,toHour(pickup_datetime) as pickup_hour,SUM(1) AS pickups
FROM trips
WHERE pickup_ntaname != ''
GROUP BY pickup_ntaname, pickup_hour
ORDER BY pickup_ntaname, pickup_hour

在這里插入圖片描述

3.4 創(chuàng)建字典

如果你是ClickHouse的新手,了解字典(dictionaries)的工作原理是很重要的。考慮字典的一種簡(jiǎn)單方法是存儲(chǔ)在內(nèi)存中的鍵->值對(duì)的映射。詳細(xì)信息和字典的所有選項(xiàng)鏈接在本教程的末尾。

1)讓我們看看如何在ClickHouse服務(wù)中創(chuàng)建與表關(guān)聯(lián)的字典。表和字典將基于包含265行的CSV文件,其中一行代表紐約市的每個(gè)社區(qū)。這些社區(qū)被映射到紐約市的行政區(qū)名稱(紐約市有5個(gè)行政區(qū):布朗克斯、布魯克林、曼哈頓、皇后區(qū)和斯塔頓島),這個(gè)文件也將紐瓦克機(jī)場(chǎng)(EWR)列為一個(gè)行政區(qū)。

這是CSV文件的一部分(為清晰起見顯示為表格)。文件中的LocationID列映射到trips表中的pickup_nyct2010_giddropff_nyct2010_gid列:
在這里插入圖片描述
2)該文件的URL為https://datasets-documentation.s3.eu-west-3.amazonaws.com/nyc-taxi/taxi_zone_lookup.csv。運(yùn)行以下SQL語句,創(chuàng)建一個(gè)名為taxi_zone_dictionary的字典,并從S3中的CSV文件填充字典:

CREATE DICTIONARY taxi_zone_dictionary
(`LocationID` UInt16 DEFAULT 0,`Borough` String,`Zone` String,`service_zone` String
)
PRIMARY KEY LocationID
SOURCE(HTTP(URL 'https://datasets-documentation.s3.eu-west-3.amazonaws.com/nyc-taxi/taxi_zone_lookup.csv' FORMAT 'CSVWithNames'))
LIFETIME(MIN 0 MAX 0)
LAYOUT(HASHED_ARRAY())

LIFETIME設(shè)置為0意味著此字典將永遠(yuǎn)不會(huì)更新其源。這里使用它來避免向S3存儲(chǔ)桶發(fā)送不必要的流量,但通常您可以指定任何您喜歡的生命周期值。
例如:
LIFETIME(MIN 1 MAX 10)
指定要在1到10秒之間的隨機(jī)時(shí)間之后更新的字典。(當(dāng)在大量服務(wù)器上更新時(shí),為了在字典源上分配負(fù)載,隨機(jī)時(shí)間是必要的。)

3)驗(yàn)證它的工作-你應(yīng)該得到265行(每個(gè)鄰居一行):

SELECT * FROM taxi_zone_dictionary

在這里插入圖片描述
4)使用dictGet 函數(shù)(或其變體)從字典中檢索值。傳入字典的名稱、所需的值和鍵(在我們的示例中是taxxi_zone_dictionaryLocationID列)。

例如,下面的查詢返回LocationID為132的Borough(如上所示為JFK機(jī)場(chǎng)):

SELECT dictGet('taxi_zone_dictionary', 'Borough', 132)

在這里插入圖片描述
5)使用dictHas函數(shù)查看字典中是否存在鍵。例如,下面的查詢返回1(在ClickHouse中為“true”):

SELECT dictHas('taxi_zone_dictionary', 132)

在這里插入圖片描述
6)下面的查詢返回0,因?yàn)?567不是字典中LocationID的值:

SELECT dictHas('taxi_zone_dictionary', 4567)

在這里插入圖片描述
7)使用dictGet 函數(shù)在查詢中檢索市鎮(zhèn)的名稱。例如:

SELECTcount(1) AS total,dictGetOrDefault('taxi_zone_dictionary','Borough', toUInt64(pickup_nyct2010_gid), 'Unknown') AS borough_name
FROM trips
WHERE dropoff_nyct2010_gid = 132 OR dropoff_nyct2010_gid = 138
GROUP BY borough_name
ORDER BY total DESC

這個(gè)查詢匯總了每個(gè)行政區(qū)在拉瓜迪亞機(jī)場(chǎng)或肯尼迪機(jī)場(chǎng)結(jié)束的出租車次數(shù)。結(jié)果如下所示,請(qǐng)注意,有相當(dāng)多的行程的落點(diǎn)是未知的:

在這里插入圖片描述

3.5 執(zhí)行 Join

讓我們編寫一些查詢,將tax_zone_dictionarytrips表連接起來。

1)我們可以從一個(gè)簡(jiǎn)單的JOIN開始,它的作用類似于上面的機(jī)場(chǎng)查詢:

SELECTcount(1) AS total,Borough
FROM trips
JOIN taxi_zone_dictionary ON toUInt64(trips.pickup_nyct2010_gid) = taxi_zone_dictionary.LocationID
WHERE dropoff_nyct2010_gid = 132 OR dropoff_nyct2010_gid = 138
GROUP BY Borough
ORDER BY total DESC

在這里插入圖片描述

注意,上面JOIN查詢的輸出與之前使用dictGetOrDefault的查詢相同(只是不包括Unknown值)。在幕后,ClickHouse實(shí)際上調(diào)用了taxxi_zone_dictionary字典的dictGet函數(shù),但是SQL開發(fā)人員更熟悉JOIN語法。

2)我們不經(jīng)常在ClickHouse中使用SELECT * -你應(yīng)該只檢索你實(shí)際需要的列!但是很難找到一個(gè)花費(fèi)很長(zhǎng)時(shí)間的查詢,所以這個(gè)查詢故意選擇每一列并返回每一行(除了在默認(rèn)情況下響應(yīng)中有一個(gè)內(nèi)置的10,000行最大值),并且還使用字典對(duì)每一行進(jìn)行右連接:

SELECT *
FROM trips
JOIN taxi_zone_dictionaryON trips.dropoff_nyct2010_gid = taxi_zone_dictionary.LocationID
WHERE tip_amount > 0
ORDER BY tip_amount DESC
LIMIT 1000

恭喜!
做得好——你完成了教程,希望你對(duì)如何使用ClickHouse有了更好的理解。下面是接下來該怎么做的一些選擇:

  • 閱讀ClickHouse的主鍵是如何工作的——這些知識(shí)將使你在成為ClickHouse專家的過程中有很長(zhǎng)的路要走
  • 集成外部數(shù)據(jù)源,如文件、Kafka、PostgreSQL、數(shù)據(jù)管道或許多其他數(shù)據(jù)源
  • 連接您最喜歡的UI/BI工具到ClickHouse
  • 查看SQL參考并瀏覽各種函數(shù)。ClickHouse有一個(gè)驚人的功能集合,用于轉(zhuǎn)換,處理和分析數(shù)據(jù)
  • 了解更多字典

Glossary

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

相關(guān)文章:

  • java網(wǎng)站開發(fā)的參考文獻(xiàn)東莞網(wǎng)站優(yōu)化
  • php程序員網(wǎng)站開發(fā)免費(fèi)培訓(xùn)課程
  • 專業(yè)seo站長(zhǎng)工具全面查詢網(wǎng)站市場(chǎng)調(diào)研報(bào)告1500字
  • 聊城網(wǎng)站營(yíng)銷簡(jiǎn)述提升關(guān)鍵詞排名的方法
  • 網(wǎng)站建設(shè)模式有哪些方面網(wǎng)絡(luò)推廣怎么找客戶
  • 建設(shè)網(wǎng)站思路青島seo排名公司
  • php網(wǎng)站集成支付寶接口2022百度seo優(yōu)化工具
  • 如何在天氣預(yù)報(bào)網(wǎng)站做引流網(wǎng)站關(guān)鍵詞優(yōu)化排名外包
  • 云主機(jī) 網(wǎng)站嗎網(wǎng)站友鏈查詢?cè)创a
  • 網(wǎng)站閉站保護(hù)網(wǎng)站運(yùn)營(yíng)一個(gè)月多少錢
  • 向國(guó)旗敬禮做時(shí)代新人網(wǎng)站上海自動(dòng)seo
  • 國(guó)外做btc的網(wǎng)站軟文推廣文案
  • 自己做家具展示網(wǎng)站優(yōu)化seo深圳
  • 昆明網(wǎng)站建設(shè)價(jià)目表最新軍事消息
  • 網(wǎng)站建設(shè)師百度百科網(wǎng)絡(luò)輿情監(jiān)測(cè)
  • 石家莊建站網(wǎng)頁(yè)模板百度人工服務(wù)
  • 源碼建站之網(wǎng)站建設(shè)搜索引擎平臺(tái)有哪些軟件
  • 做菠菜網(wǎng)站有沒有被騙的百度瀏覽器官方網(wǎng)站
  • 南京微信網(wǎng)站建設(shè)百度我的訂單查詢
  • 唐山網(wǎng)站建設(shè)費(fèi)用seo排名公司
  • iis 網(wǎng)站文件被占用seo優(yōu)化多久能上排名
  • 用dw做旅游網(wǎng)站的方法權(quán)重查詢
  • 比較厲害的網(wǎng)站制作公司重慶seo整站優(yōu)化外包服務(wù)
  • 淘客做網(wǎng)站怎么備案百度一下百度官網(wǎng)
  • 用國(guó)外網(wǎng)站 圖片做自媒體福州seo公司排名
  • 動(dòng)態(tài)網(wǎng)頁(yè)設(shè)計(jì)個(gè)人簡(jiǎn)歷代碼seo宣傳網(wǎng)站
  • 銷售seo是什么的
  • 貸款織夢(mèng)網(wǎng)站模版網(wǎng)絡(luò)營(yíng)銷策略分析論文
  • 國(guó)外高校實(shí)驗(yàn)室網(wǎng)站建設(shè)成果廣告聯(lián)盟論壇
  • 網(wǎng)站建設(shè)的seo策略信息流廣告投放渠道