เจฒเฉเจ เจฆเจพ เจ
เจจเฉเจตเจพเจฆ เจเฉเจฐเจธ เจฆเฉ เจตเจฟเจฆเจฟเจเจฐเจฅเฉเจเจ เจฒเจ เจตเจฟเจธเจผเฉเจธเจผ เจคเฉเจฐ 'เจคเฉ เจคเจฟเจเจฐ เจเฉเจคเจพ เจเจฟเจ เจธเฉ
เจฆเฉ เจธเจพเจฒ เจชเจนเจฟเจฒเจพเจ เจฎเฉเจ เจฌเจฟเจคเจพเจ
เจเจฒเจฟเจเจนเจพเจเจธ เจตเจฟเฉฑเจ เจคเฉเจเฉ-เจงเจฟเจฐ เจฒเจพเจเจฌเฉเจฐเฉเจฐเฉเจเจ เจจเฉเฉฐ เจเฉฑเจก เจเฉ, C++ เจเฉเจก เจฆเฉเจเจ 170 เจนเจเจผเจพเจฐ เจฒเจพเจเจจเจพเจ เจนเจจ, เจ เจคเฉ เจเจน เจธเจญ เจคเฉเจ เจเฉเจเฉ เจตเฉฐเจกเฉ เจเจ เจกเฉเจเจพเจฌเฉเจธ เจเฉเจกเจฌเฉเจธ เจตเจฟเฉฑเจเฉเจ เจเฉฑเจ เจนเฉเฅค เจเจธเจฆเฉ เจฎเฉเจเจพเจฌเจฒเฉ, SQLite เจตเฉฐเจก เจฆเจพ เจธเจฎเจฐเจฅเจจ เจจเจนเฉเจ เจเจฐเจฆเจพ เจนเฉ เจ เจคเฉ เจเจธ เจตเจฟเฉฑเจ C เจเฉเจก เจฆเฉเจเจ 235 เจนเจเจผเจพเจฐ เจฒเจพเจเจจเจพเจ เจนเจจเฅค เจเจธ เจฒเจฟเจเจค เจฆเฉ เจฐเฉเจช เจตเจฟเฉฑเจ, 207 เจเฉฐเจเฉเจจเฉเจ เจฐเจพเจ เจจเฉ เจเจฒเจฟเจเจนเจพเจเจธ เจตเจฟเฉฑเจ เจฏเฉเจเจฆเจพเจจ เจชเจพเจเจ เจนเฉ, เจ เจคเฉ เจเจฎเจฟเจ เจฆเฉ เจคเฉเจฌเจฐเจคเจพ เจนเจพเจฒ เจนเฉ เจตเจฟเฉฑเจ เจตเจง เจฐเจนเฉ เจนเฉเฅค
เจฎเจพเจฐเจ 2017 เจตเจฟเฉฑเจ, เจเจฒเจฟเจเจนเจพเจเจธ เจจเฉ เจธเฉฐเจเจพเจฒเจจ เจเจฐเจจเจพ เจธเจผเฉเจฐเฉ เจเฉเจคเจพ
เจเจธ เจฒเฉเจ เจตเจฟเฉฑเจ, เจฎเฉเจ 2-เจเฉเจฐ เจชเฉเจฐเฉเจธเฉเจธเจฐเจพเจ เจ เจคเฉ NVMe เจธเจเฉเจฐเฉเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ AWS EC36 'เจคเฉ เจเฉฑเจ เจเจฒเจฟเจเจนเจพเจเจธ เจเจฒเฉฑเจธเจเจฐ เจฆเฉ เจชเฉเจฐเจฆเจฐเจธเจผเจจ 'เจคเฉ เจเฉฑเจ เจจเจเจผเจฐ เจฎเจพเจฐเจจ เจเจพ เจฐเจฟเจนเจพ เจนเจพเจเฅค
เจ เฉฑเจชเจกเฉเจ: เจ เจธเจฒ เจตเจฟเฉฑเจ เจเจธ เจชเฉเจธเจ เจจเฉเฉฐ เจชเฉเจฐเจเจพเจธเจผเจฟเจค เจเจฐเจจ เจคเฉเจ เจเฉฑเจ เจนเจซเจผเจคเฉ เจฌเจพเจ เจฆ, เจฎเฉเจ เจเฉฑเจ เจธเฉเจงเจพเจฐเฉ เจนเฉเจ เจธเฉฐเจฐเจเจจเจพ เจฆเฉ เจจเจพเจฒ เจเฉเจธเจ เจจเฉเฉฐ เจฆเฉเจฌเจพเจฐเจพ เจธเจผเฉเจฐเฉ เจเฉเจคเจพ เจ เจคเฉ เจฌเจนเฉเจค เจตเจงเฉเจ เจจเจคเฉเจเฉ เจชเฉเจฐเจพเจชเจค เจเฉเจคเฉเฅค เจเจนเจจเจพเจ เจคเจฌเจฆเฉเจฒเฉเจเจ เจจเฉเฉฐ เจฆเจฐเจธเจพเจเจฃ เจฒเจ เจเจธ เจชเฉเจธเจ เจจเฉเฉฐ เจ เฉฑเจชเจกเฉเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค
เจเฉฑเจ AWS EC2 เจเจฒเฉฑเจธเจเจฐ เจฒเจพเจเจ เจเจฐเจจเจพ
เจฎเฉเจ เจเจธ เจชเฉเจธเจ เจฒเจ เจคเจฟเฉฐเจจ c5d.9xlarge EC2 เจเจฆเจพเจนเจฐเจจเจพเจ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเจพเฅค เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจนเจฐเฉเจ เจตเจฟเฉฑเจ 36 เจตเจฐเจเฉเจ เจฒ CPU, 72 GB RAM, 900 GB NVMe SSD เจธเจเฉเจฐเฉเจ เจ เจคเฉ 10 เจเฉเจเจพเจฌเจพเจเจ เจจเฉเฉฑเจเจตเจฐเจ เจฆเจพ เจธเจฎเจฐเจฅเจจ เจเจฐเจฆเจพ เจนเฉเฅค เจเจฆเฉเจ เจฎเฉฐเจ 'เจคเฉ เจเฉฑเจฒเจฆเฉ เจนเจจ เจคเจพเจ eu-west-1,962 เจเฉเจคเจฐ เจตเจฟเฉฑเจ เจเจนเจจเจพเจ เจฆเฉ เจเฉเจฎเจค $1/เจเฉฐเจเจพ เจนเฉเฅค เจฎเฉเจ เจเจชเจฐเฉเจเจฟเฉฐเจ เจธเจฟเจธเจเจฎ เจตเจเฉเจ เจเจฌเฉฐเจเฉ เจธเจฐเจตเจฐ 16.04 LTS เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเจพเฅค
เจซเจพเจเจฐเจตเจพเจฒ เจจเฉเฉฐ เจเฉเจเจซเจฟเจเจฐ เจเฉเจคเจพ เจเจฟเจ เจนเฉ เจคเจพเจ เจเจฟ เจนเจฐเฉเจ เจฎเจธเจผเฉเจจ เจฌเจฟเจจเจพเจ เจเจฟเจธเฉ เจชเจพเจฌเฉฐเจฆเฉ เจฆเฉ เจเฉฑเจ เจฆเฉเจเฉ เจจเจพเจฒ เจธเฉฐเจเจพเจฐ เจเจฐ เจธเจเฉ, เจ เจคเฉ เจธเจฟเจฐเจซเจผ เจฎเฉเจฐเจพ IPv4 เจชเจคเจพ เจเจฒเฉฑเจธเจเจฐ เจตเจฟเฉฑเจ SSH เจฆเฉเจเจฐเจพ เจตเจพเจเจเจฒเจฟเจธเจ เจเฉเจคเจพ เจเจฟเจ เจนเฉเฅค
NVMe เจกเจฐเจพเจเจต เจธเฉฐเจเจพเจฒเจจ เจคเจฟเจเจฐเฉ เจ เจตเจธเจฅเจพ เจตเจฟเฉฑเจ
เจเจฒเจฟเจเจนเจพเจเจธ เจฆเฉ เจเฉฐเจฎ เจเจฐเจจ เจฒเจ, เจฎเฉเจ เจนเจฐเฉเจ เจธเจฐเจตเจฐ 'เจคเฉ NVMe เจกเจฐเจพเจเจต 'เจคเฉ EXT4 เจซเจพเจฐเจฎเฉเจ เจตเจฟเฉฑเจ เจเฉฑเจ เจซเจพเจเจฒ เจธเจฟเจธเจเจฎ เจฌเจฃเจพเจตเจพเจเจเจพเฅค
$ sudo mkfs -t ext4 /dev/nvme1n1
$ sudo mkdir /ch
$ sudo mount /dev/nvme1n1 /ch
เจเฉฑเจ เจตเจพเจฐ เจธเจญ เจเฉเจ เจธเฉฐเจฐเจเจฟเจค เจนเฉ เจเจพเจฃ 'เจคเฉ, เจคเฉเจธเฉเจ เจฎเจพเจเจเจ เจชเฉเจเจเฉฐเจ เจ เจคเฉ เจนเจฐเฉเจ เจธเจฟเจธเจเจฎ 'เจคเฉ เจเจชเจฒเจฌเจง 783 GB เจธเจชเฉเจธ เจฆเฉเจ เจธเจเจฆเฉ เจนเฉเฅค
$ lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
loop0 7:0 0 87.9M 1 loop /snap/core/5742
loop1 7:1 0 16.5M 1 loop /snap/amazon-ssm-agent/784
nvme0n1 259:1 0 8G 0 disk
โโnvme0n1p1 259:2 0 8G 0 part /
nvme1n1 259:0 0 838.2G 0 disk /ch
$ df -h
Filesystem Size Used Avail Use% Mounted on
udev 35G 0 35G 0% /dev
tmpfs 6.9G 8.8M 6.9G 1% /run
/dev/nvme0n1p1 7.7G 967M 6.8G 13% /
tmpfs 35G 0 35G 0% /dev/shm
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 35G 0 35G 0% /sys/fs/cgroup
/dev/loop0 88M 88M 0 100% /snap/core/5742
/dev/loop1 17M 17M 0 100% /snap/amazon-ssm-agent/784
tmpfs 6.9G 0 6.9G 0% /run/user/1000
/dev/nvme1n1 825G 73M 783G 1% /ch
เจฎเฉเจ เจเจธ เจเฉเจธเจ เจตเจฟเฉฑเจ เจเฉ เจกเฉเจเจพเจธเฉเจ เจตเจฐเจคเจพเจเจเจพ เจเจน เจเฉฑเจ เจกเฉเจเจพ เจกเฉฐเจช เจนเฉ เจเฉ เจฎเฉเจ เจเฉ เจธเจพเจฒเจพเจ เจตเจฟเฉฑเจ เจจเจฟเจเจฏเจพเจฐเจ เจธเจฟเจเฉ เจตเจฟเฉฑเจ เจฒเจเจเจ เจเจเจเจ 1.1 เจฌเจฟเจฒเฉเจ
เจจ เจเฉเจเจธเฉ เจธเจตเจพเจฐเฉเจเจ เจคเฉเจ เจคเจฟเจเจฐ เจเฉเจคเจพ เจนเฉเฅค เจฌเจฒเฉเจ 'เจคเฉ
$ sudo apt update
$ sudo apt install awscli
$ aws configure
เจฎเฉเจ เจเจฒเจพเจเฉฐเจ เจฆเฉ เจธเจฎเจเจพเจฒเฉ เจฌเฉเจจเจคเฉ เจธเฉเจฎเจพ เจจเฉเฉฐ 100 'เจคเฉ เจธเฉเจ เจเจฐเจพเจเจเจพ เจคเจพเจ เจเจฟ เจซเจพเจเจฒเจพเจ เจกเจฟเจซเฉเจฒเจ เจธเฉเจเจฟเฉฐเจเจพเจ เจจเจพเจฒเฉเจ เจคเฉเจเจผเฉ เจจเจพเจฒ เจกเจพเจเจจเจฒเฉเจก เจนเฉเจฃเฅค
$ aws configure set
default.s3.max_concurrent_requests
100
เจฎเฉเจ AWS S3 เจคเฉเจ เจเฉเจเจธเฉ เจฐเจพเจเจก เจกเฉเจเจพเจธเฉเจ เจจเฉเฉฐ เจกเจพเจเจจเจฒเฉเจก เจเจฐเจพเจเจเจพ เจ เจคเฉ เจเจธเจจเฉเฉฐ เจชเจนเจฟเจฒเฉ เจธเจฐเจตเจฐ 'เจคเฉ NVMe เจกเจฐเจพเจเจต 'เจคเฉ เจธเจเฉเจฐ เจเจฐเจพเจเจเจพเฅค เจเจน เจกเฉเจเจพเจธเฉเจ GZIP-เจธเฉฐเจเฉเจเจฟเจค CSV เจซเจพเจฐเจฎเฉเจ เจตเจฟเฉฑเจ ~104GB เจนเฉเฅค
$ sudo mkdir -p /ch/csv
$ sudo chown -R ubuntu /ch/csv
$ aws s3 sync s3://<bucket>/csv /ch/csv
เจเจฐ เจฆเฉ เจธเจฅเจพเจชเจจเจพ 'เจคเฉ เจเจฒเจฟเฉฑเจ เจเจฐเฉ
เจฎเฉเจ เจเจพเจตเจพ 8 เจฒเจ เจเจชเจจเจเฉเจกเฉเจเฉ เจกเจฟเจธเจเจฐเฉเจฌเจฟเจเจธเจผเจจ เจจเฉเฉฐ เจธเจฅเจพเจชเจฟเจค เจเจฐเจพเจเจเจพ เจเจฟเจเจเจเจฟ เจเจน เจ เจชเจพเจเฉ เจเจผเฉเจเฉเจชเจฐ เจจเฉเฉฐ เจเจฒเจพเจเจฃ เจฒเจ เจฒเฉเฉเฉเจเจฆเจพ เจนเฉ, เจเฉ เจเจฟ เจธเจพเจฐเฉเจเจ เจคเจฟเฉฐเจจ เจฎเจธเจผเฉเจจเจพเจ 'เจคเฉ เจเจฒเจฟเจเจนเจพเจเจธ เจฆเฉ เจตเฉฐเจกเฉ เจธเจฅเจพเจชเจจเจพ เจฒเจ เจฒเฉเฉเฉเจเจฆเจพ เจนเฉเฅค
$ sudo apt update
$ sudo apt install
openjdk-8-jre
openjdk-8-jdk-headless
เจซเจฟเจฐ เจฎเฉเจ เจตเจพเจคเจพเจตเจฐเจฃ เจตเฉเจฐเฉเจเจฌเจฒ เจธเฉเฉฑเจ เจเฉเจคเจพ JAVA_HOME
.
$ sudo vi /etc/profile
export JAVA_HOME=/usr
$ source /etc/profile
เจซเจฟเจฐ เจฎเฉเจ เจคเจฟเฉฐเจจเฉเจ เจฎเจธเจผเฉเจจเจพเจ 'เจคเฉ เจเจฒเจฟเจเจนเจพเจเจธ 18.16.1, เจเจฒเฉเจเจธ เจ เจคเฉ เจเจผเฉเจเฉเจชเจฐ เจจเฉเฉฐ เจธเจฅเจพเจชเจค เจเจฐเจจ เจฒเจ เจเจฌเฉฐเจเฉ เจฆเฉ เจชเฉเจเฉเจ เจชเฉเจฐเจฌเฉฐเจงเจจ เจธเจฟเจธเจเจฎ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจพเจเจเจพเฅค
$ sudo apt-key adv
--keyserver hkp://keyserver.ubuntu.com:80
--recv E0C56BD4
$ echo "deb http://repo.yandex.ru/clickhouse/deb/stable/ main/" |
sudo tee /etc/apt/sources.list.d/clickhouse.list
$ sudo apt-get update
$ sudo apt install
clickhouse-client
clickhouse-server
glances
zookeeperd
เจฎเฉเจ เจเจฒเจฟเจเจนเจพเจเจธ เจฒเจ เจเฉฑเจ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจฌเจฃเจพเจตเจพเจเจเจพ เจ เจคเฉ เจธเจพเจฐเฉ เจคเจฟเฉฐเจจ เจธเจฐเจตเจฐเจพเจ 'เจคเฉ เจเฉเจ เจธเฉฐเจฐเจเจจเจพ เจเจตเจฐเจฐเจพเจเจก เจตเฉ เจเจฐเจพเจเจเจพเฅค
$ sudo mkdir /ch/clickhouse
$ sudo chown -R clickhouse /ch/clickhouse
$ sudo mkdir -p /etc/clickhouse-server/conf.d
$ sudo vi /etc/clickhouse-server/conf.d/taxis.conf
เจเจน เจธเฉฐเจฐเจเจจเจพ เจเจตเจฐเจฐเจพเจเจก เจนเจจ เจเฉ เจฎเฉเจ เจตเจฐเจคเจพเจเจเจพ.
<?xml version="1.0"?>
<yandex>
<listen_host>0.0.0.0</listen_host>
<path>/ch/clickhouse/</path>
<remote_servers>
<perftest_3shards>
<shard>
<replica>
<host>172.30.2.192</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<host>172.30.2.162</host>
<port>9000</port>
</replica>
</shard>
<shard>
<replica>
<host>172.30.2.36</host>
<port>9000</port>
</replica>
</shard>
</perftest_3shards>
</remote_servers>
<zookeeper-servers>
<node>
<host>172.30.2.192</host>
<port>2181</port>
</node>
<node>
<host>172.30.2.162</host>
<port>2181</port>
</node>
<node>
<host>172.30.2.36</host>
<port>2181</port>
</node>
</zookeeper-servers>
<macros>
<shard>03</shard>
<replica>01</replica>
</macros>
</yandex>
เจฎเฉเจ เจซเจฟเจฐ เจเจผเฉเจเฉเจชเจฐ เจ เจคเฉ เจเจฒเจฟเจเจนเจพเจเจธ เจธเจฐเจตเจฐ เจจเฉเฉฐ เจคเจฟเฉฐเจจเฉเจ เจฎเจธเจผเฉเจจเจพเจ 'เจคเฉ เจเจฒเจพเจตเจพเจเจเจพเฅค
$ sudo /etc/init.d/zookeeper start
$ sudo service clickhouse-server start
เจเจฒเจฟเจเจนเจพเจเจธ 'เจคเฉ เจกเจพเจเจพ เจ เฉฑเจชเจฒเฉเจก เจเฉเจคเจพ เจเจพ เจฐเจฟเจนเจพ เจนเฉ
เจชเจนเจฟเจฒเฉ เจธเจฐเจตเจฐ 'เจคเฉ เจฎเฉเจ เจเฉฑเจ เจเฉเจฐเจฟเจช เจเฉเจฌเจฒ เจฌเจฃเจพเจตเจพเจเจเจพ (trips
), เจเฉ เจฒเฉเจ เจเฉฐเจเจฃ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเฉ เจนเฉเจ เจเฉเจเจธเฉ เจฏเจพเจคเจฐเจพเจตเจพเจ เจฆเจพ เจกเฉเจเจพเจธเฉเจ เจธเจเฉเจฐ เจเจฐเฉเจเจพเฅค
$ clickhouse-client --host=0.0.0.0
CREATE TABLE trips (
trip_id UInt32,
vendor_id String,
pickup_datetime DateTime,
dropoff_datetime Nullable(DateTime),
store_and_fwd_flag Nullable(FixedString(1)),
rate_code_id Nullable(UInt8),
pickup_longitude Nullable(Float64),
pickup_latitude Nullable(Float64),
dropoff_longitude Nullable(Float64),
dropoff_latitude Nullable(Float64),
passenger_count Nullable(UInt8),
trip_distance Nullable(Float64),
fare_amount Nullable(Float32),
extra Nullable(Float32),
mta_tax Nullable(Float32),
tip_amount Nullable(Float32),
tolls_amount Nullable(Float32),
ehail_fee Nullable(Float32),
improvement_surcharge Nullable(Float32),
total_amount Nullable(Float32),
payment_type Nullable(String),
trip_type Nullable(UInt8),
pickup Nullable(String),
dropoff Nullable(String),
cab_type Nullable(String),
precipitation Nullable(Int8),
snow_depth Nullable(Int8),
snowfall Nullable(Int8),
max_temperature Nullable(Int8),
min_temperature Nullable(Int8),
average_wind_speed Nullable(Int8),
pickup_nyct2010_gid Nullable(Int8),
pickup_ctlabel Nullable(String),
pickup_borocode Nullable(Int8),
pickup_boroname Nullable(String),
pickup_ct2010 Nullable(String),
pickup_boroct2010 Nullable(String),
pickup_cdeligibil Nullable(FixedString(1)),
pickup_ntacode Nullable(String),
pickup_ntaname Nullable(String),
pickup_puma Nullable(String),
dropoff_nyct2010_gid Nullable(UInt8),
dropoff_ctlabel Nullable(String),
dropoff_borocode Nullable(UInt8),
dropoff_boroname Nullable(String),
dropoff_ct2010 Nullable(String),
dropoff_boroct2010 Nullable(String),
dropoff_cdeligibil Nullable(String),
dropoff_ntacode Nullable(String),
dropoff_ntaname Nullable(String),
dropoff_puma Nullable(String)
) ENGINE = Log;
เจฎเฉเจ เจซเจฟเจฐ เจนเจฐเฉเจ CSV เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจเฉฑเจ เจเฉเจฐเจฟเจช เจเฉเจฌเจฒ เจตเจฟเฉฑเจ เจเจเจธเจเจฐเฉเจเจ เจ
เจคเฉ เจฒเฉเจก เจเจฐเจฆเจพ เจนเจพเจ (trips
). เจนเฉเจ เจฒเจฟเจเจฟเจเจ เจจเฉเฉฐ 55 เจฎเจฟเฉฐเจ เจ
เจคเฉ 10 เจธเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจพ เจเฉเจคเจพ เจเจฟเจ เจธเฉเฅค เจเจธ เจเจพเจฐเจตเจพเจ เจคเฉเจ เจฌเจพเจ
เจฆ, เจกเฉเจเจพ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจฆเจพ เจเจเจพเจฐ 134 เจเฉ.เจฌเฉ.
$ time (for FILENAME in /ch/csv/trips_x*.csv.gz; do
echo $FILENAME
gunzip -c $FILENAME |
clickhouse-client
--host=0.0.0.0
--query="INSERT INTO trips FORMAT CSV"
done)
เจเจฏเจพเจค เจเจคเฉ เจชเฉเจฐเจคเฉ เจธเจเจฟเฉฐเจ 155 MB เจ เจฃเจเฉฐเจชเจฐเฉเฉฑเจธเจก CSV เจธเจฎเฉฑเจเจฐเฉ เจธเฉเฅค เจฎเฉเจจเฉเฉฐ เจธเจผเฉฑเจ เจนเฉ เจเจฟ เจเจน GZIP เจกเฉเจเฉฐเจชเฉเจฐเฉเจธเจผเจจ เจตเจฟเฉฑเจ เจเฉฑเจ เจฐเฉเจเจพเจตเจ เจฆเฉ เจเจพเจฐเจจ เจธเฉเฅค xargs เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจธเจพเจฐเฉเจเจ gzipped เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจธเจฎเจพเจจเจพเจเจคเจฐ เจตเจฟเฉฑเจ เจ เจจเจเจผเจฟเจช เจเจฐเจจเจพ เจ เจคเฉ เจซเจฟเจฐ เจ เจจเจเจผเจฟเจช เจเฉเจคเฉ เจกเฉเจเจพ เจจเฉเฉฐ เจฒเฉเจก เจเจฐเจจเจพ เจคเฉเจเจผ เจนเฉ เจธเจเจฆเจพ เจนเฉเฅค เจนเฉเจ เจพเจ CSV เจเจฏเจพเจค เจชเฉเจฐเจเจฟเจฐเจฟเจ เจฆเฉเจฐเจพเจจ เจเฉ เจฐเจฟเจชเฉเจฐเจ เจเฉเจคเจพ เจเจฟเจ เจธเฉ เจเจธเจฆเจพ เจตเจฐเจฃเจจ เจนเฉเฅค
$ sudo glances
ip-172-30-2-200 (Ubuntu 16.04 64bit / Linux 4.4.0-1072-aws) Uptime: 0:11:42
CPU 8.2% nice: 0.0% LOAD 36-core MEM 9.8% active: 5.20G SWAP 0.0%
user: 6.0% irq: 0.0% 1 min: 2.24 total: 68.7G inactive: 61.0G total: 0
system: 0.9% iowait: 1.3% 5 min: 1.83 used: 6.71G buffers: 66.4M used: 0
idle: 91.8% steal: 0.0% 15 min: 1.01 free: 62.0G cached: 61.6G free: 0
NETWORK Rx/s Tx/s TASKS 370 (507 thr), 2 run, 368 slp, 0 oth sorted automatically by cpu_percent, flat view
ens5 136b 2Kb
lo 343Mb 343Mb CPU% MEM% VIRT RES PID USER NI S TIME+ IOR/s IOW/s Command
100.4 1.5 1.65G 1.06G 9909 ubuntu 0 S 1:01.33 0 0 clickhouse-client --host=0.0.0.0 --query=INSERT INTO trips FORMAT CSV
DISK I/O R/s W/s 85.1 0.0 4.65M 708K 9908 ubuntu 0 R 0:50.60 32M 0 gzip -d -c /ch/csv/trips_xac.csv.gz
loop0 0 0 54.9 5.1 8.14G 3.49G 8091 clickhous 0 S 1:44.23 0 45M /usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml
loop1 0 0 4.5 0.0 0 0 319 root 0 S 0:07.50 1K 0 kworker/u72:2
nvme0n1 0 3K 2.3 0.0 91.1M 28.9M 9912 root 0 R 0:01.56 0 0 /usr/bin/python3 /usr/bin/glances
nvme0n1p1 0 3K 0.3 0.0 0 0 960 root -20 S 0:00.10 0 0 kworker/28:1H
nvme1n1 32.1M 495M 0.3 0.0 0 0 1058 root -20 S 0:00.90 0 0 kworker/23:1H
เจฎเฉเจ เจเจพเจฐเฉ เจฐเฉฑเจเจฃ เจคเฉเจ เจชเจนเจฟเจฒเจพเจ เจฎเฉเจฒ CSV เจซเจพเจเจฒเจพเจ เจจเฉเฉฐ เจฎเจฟเจเจพ เจเฉ NVMe เจกเจฐเจพเจเจต 'เจคเฉ เจเจเฉเจนเจพ เจเจพเจฒเฉ เจเจฐเจพเจเจเจพเฅค
$ sudo rm -fr /ch/csv
เจเจพเจฒเจฎ เจซเจพเจฐเจฎ เจตเจฟเฉฑเจ เจฌเจฆเจฒเฉ
เจฒเฉเจ เจเจฒเจฟเจเจนเจพเจเจธ เจเฉฐเจเจฃ เจเฉฑเจ เจเจคเจพเจฐ-เจฎเฉเจเฉ เจซเจพเจฐเจฎเฉเจ เจตเจฟเฉฑเจ เจกเฉเจเจพ เจจเฉเฉฐ เจธเจเฉเจฐ เจเจฐเฉเจเจพเฅค เจกเจพเจเจพ เจคเฉเจเจผเฉ เจจเจพเจฒ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจเจฐเจจ เจฒเจ, เจฎเฉเจ เจเจธเจจเฉเฉฐ MergeTree เจเฉฐเจเจฃ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจเฉ เจเจพเจฒเจฎ เจซเจพเจฐเจฎเฉเจ เจตเจฟเฉฑเจ เจฌเจฆเจฒเจฆเจพ เจนเจพเจเฅค
$ clickhouse-client --host=0.0.0.0
เจนเฉเจ เจฒเจฟเจเจฟเจเจ เจจเฉเฉฐ 34 เจฎเจฟเฉฐเจ เจ เจคเฉ 50 เจธเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจพ เจเฉเจคเจพ เจเจฟเจ เจธเฉเฅค เจเจธ เจเจพเจฐเจตเจพเจ เจคเฉเจ เจฌเจพเจ เจฆ, เจกเฉเจเจพ เจกเจพเจเจฐเฉเจเจเจฐเฉ เจฆเจพ เจเจเจพเจฐ 237 เจเฉ.เจฌเฉ.
CREATE TABLE trips_mergetree
ENGINE = MergeTree(pickup_date, pickup_datetime, 8192)
AS SELECT
trip_id,
CAST(vendor_id AS Enum8('1' = 1,
'2' = 2,
'CMT' = 3,
'VTS' = 4,
'DDS' = 5,
'B02512' = 10,
'B02598' = 11,
'B02617' = 12,
'B02682' = 13,
'B02764' = 14)) AS vendor_id,
toDate(pickup_datetime) AS pickup_date,
ifNull(pickup_datetime, toDateTime(0)) AS pickup_datetime,
toDate(dropoff_datetime) AS dropoff_date,
ifNull(dropoff_datetime, toDateTime(0)) AS dropoff_datetime,
assumeNotNull(store_and_fwd_flag) AS store_and_fwd_flag,
assumeNotNull(rate_code_id) AS rate_code_id,
assumeNotNull(pickup_longitude) AS pickup_longitude,
assumeNotNull(pickup_latitude) AS pickup_latitude,
assumeNotNull(dropoff_longitude) AS dropoff_longitude,
assumeNotNull(dropoff_latitude) AS dropoff_latitude,
assumeNotNull(passenger_count) AS passenger_count,
assumeNotNull(trip_distance) AS trip_distance,
assumeNotNull(fare_amount) AS fare_amount,
assumeNotNull(extra) AS extra,
assumeNotNull(mta_tax) AS mta_tax,
assumeNotNull(tip_amount) AS tip_amount,
assumeNotNull(tolls_amount) AS tolls_amount,
assumeNotNull(ehail_fee) AS ehail_fee,
assumeNotNull(improvement_surcharge) AS improvement_surcharge,
assumeNotNull(total_amount) AS total_amount,
assumeNotNull(payment_type) AS payment_type_,
assumeNotNull(trip_type) AS trip_type,
pickup AS pickup,
pickup AS dropoff,
CAST(assumeNotNull(cab_type)
AS Enum8('yellow' = 1, 'green' = 2))
AS cab_type,
precipitation AS precipitation,
snow_depth AS snow_depth,
snowfall AS snowfall,
max_temperature AS max_temperature,
min_temperature AS min_temperature,
average_wind_speed AS average_wind_speed,
pickup_nyct2010_gid AS pickup_nyct2010_gid,
pickup_ctlabel AS pickup_ctlabel,
pickup_borocode AS pickup_borocode,
pickup_boroname AS pickup_boroname,
pickup_ct2010 AS pickup_ct2010,
pickup_boroct2010 AS pickup_boroct2010,
pickup_cdeligibil AS pickup_cdeligibil,
pickup_ntacode AS pickup_ntacode,
pickup_ntaname AS pickup_ntaname,
pickup_puma AS pickup_puma,
dropoff_nyct2010_gid AS dropoff_nyct2010_gid,
dropoff_ctlabel AS dropoff_ctlabel,
dropoff_borocode AS dropoff_borocode,
dropoff_boroname AS dropoff_boroname,
dropoff_ct2010 AS dropoff_ct2010,
dropoff_boroct2010 AS dropoff_boroct2010,
dropoff_cdeligibil AS dropoff_cdeligibil,
dropoff_ntacode AS dropoff_ntacode,
dropoff_ntaname AS dropoff_ntaname,
dropoff_puma AS dropoff_puma
FROM trips;
เจเจชเจฐเฉเจธเจผเจจ เจฆเฉเจฐเจพเจจ เจจเจเจผเจฐ เจเจเจเจชเฉเฉฑเจ เจเจธ เจคเจฐเฉเจนเจพเจ เจฆเจฟเจเจพเจ เจฆเจฟเฉฐเจฆเฉ เจนเฉ:
ip-172-30-2-200 (Ubuntu 16.04 64bit / Linux 4.4.0-1072-aws) Uptime: 1:06:09
CPU 10.3% nice: 0.0% LOAD 36-core MEM 16.1% active: 13.3G SWAP 0.0%
user: 7.9% irq: 0.0% 1 min: 1.87 total: 68.7G inactive: 52.8G total: 0
system: 1.6% iowait: 0.8% 5 min: 1.76 used: 11.1G buffers: 71.8M used: 0
idle: 89.7% steal: 0.0% 15 min: 1.95 free: 57.6G cached: 57.2G free: 0
NETWORK Rx/s Tx/s TASKS 367 (523 thr), 1 run, 366 slp, 0 oth sorted automatically by cpu_percent, flat view
ens5 1Kb 8Kb
lo 2Kb 2Kb CPU% MEM% VIRT RES PID USER NI S TIME+ IOR/s IOW/s Command
241.9 12.8 20.7G 8.78G 8091 clickhous 0 S 30:36.73 34M 125M /usr/bin/clickhouse-server --config=/etc/clickhouse-server/config.xml
DISK I/O R/s W/s 2.6 0.0 90.4M 28.3M 9948 root 0 R 1:18.53 0 0 /usr/bin/python3 /usr/bin/glances
loop0 0 0 1.3 0.0 0 0 203 root 0 S 0:09.82 0 0 kswapd0
loop1 0 0 0.3 0.1 315M 61.3M 15701 ubuntu 0 S 0:00.40 0 0 clickhouse-client --host=0.0.0.0
nvme0n1 0 3K 0.3 0.0 0 0 7 root 0 S 0:00.83 0 0 rcu_sched
nvme0n1p1 0 3K 0.0 0.0 0 0 142 root 0 S 0:00.22 0 0 migration/27
nvme1n1 25.8M 330M 0.0 0.0 59.7M 1.79M 2764 ubuntu 0 S 0:00.00 0 0 (sd-pam)
เจชเจฟเจเจฒเฉ เจเฉเจธเจ เจตเจฟเฉฑเจ, เจเจ เจเจพเจฒเจฎเจพเจ เจจเฉเฉฐ เจฌเจฆเจฒเจฟเจ เจเจฟเจ เจธเฉ เจ เจคเฉ เจฎเฉเฉ เจเจฃเจจเจพ เจเฉเจคเฉ เจเจ เจธเฉเฅค เจฎเฉเจ เจฆเฉเจเจฟเจ เจเจฟ เจเจนเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจเฉเจ เจซเฉฐเจเจธเจผเจจ เจนเฉเจฃ เจเจธ เจกเฉเจเจพเจธเฉเจ 'เจคเฉ เจเจฎเฉเจฆ เจ เจจเฉเจธเจพเจฐ เจเฉฐเจฎ เจจเจนเฉเจ เจเจฐเจฆเฉ เจนเจจเฅค เจเจธ เจธเจฎเฉฑเจธเจฟเจ เจจเฉเฉฐ เจนเฉฑเจฒ เจเจฐเจจ เจฒเจ, เจฎเฉเจ เจ เจฃเจเจเจฟเจค เจซเฉฐเจเจธเจผเจจเจพเจ เจจเฉเฉฐ เจนเจเจพ เจฆเจฟเฉฑเจคเจพ เจนเฉ เจ เจคเฉ เจนเฉเจฐ เจเฉเจฐเฉเจจเจฟเจเจฒเจฐ เจเจฟเจธเจฎเจพเจ เจตเจฟเฉฑเจ เจชเจฐเจฟเจตเจฐเจคเจฟเจค เจเฉเจคเฉ เจฌเจฟเจจเจพเจ เจกเจพเจเจพ เจฒเฉเจก เจเฉเจคเจพ เจนเฉเฅค
เจเจฒเฉฑเจธเจเจฐ เจตเจฟเฉฑเจ เจกเฉเจเจพ เจฆเฉ เจตเฉฐเจก
เจฎเฉเจ เจธเจพเจฐเฉ เจคเจฟเฉฐเจจ เจเจฒเฉฑเจธเจเจฐ เจจเฉเจกเจพเจ เจตเจฟเฉฑเจ เจกเฉเจเจพ เจจเฉเฉฐ เจตเฉฐเจกเจพเจเจเจพเฅค เจธเจผเฉเจฐเฉ เจเจฐเจจ เจฒเจ, เจนเฉเจ เจพเจ เจฎเฉเจ เจคเจฟเฉฐเจจเจพเจ เจฎเจธเจผเฉเจจเจพเจ 'เจคเฉ เจเฉฑเจ เจธเจพเจฐเจฃเฉ เจฌเจฃเจพเจตเจพเจเจเจพเฅค
$ clickhouse-client --host=0.0.0.0
CREATE TABLE trips_mergetree_third (
trip_id UInt32,
vendor_id String,
pickup_date Date,
pickup_datetime DateTime,
dropoff_date Date,
dropoff_datetime Nullable(DateTime),
store_and_fwd_flag Nullable(FixedString(1)),
rate_code_id Nullable(UInt8),
pickup_longitude Nullable(Float64),
pickup_latitude Nullable(Float64),
dropoff_longitude Nullable(Float64),
dropoff_latitude Nullable(Float64),
passenger_count Nullable(UInt8),
trip_distance Nullable(Float64),
fare_amount Nullable(Float32),
extra Nullable(Float32),
mta_tax Nullable(Float32),
tip_amount Nullable(Float32),
tolls_amount Nullable(Float32),
ehail_fee Nullable(Float32),
improvement_surcharge Nullable(Float32),
total_amount Nullable(Float32),
payment_type Nullable(String),
trip_type Nullable(UInt8),
pickup Nullable(String),
dropoff Nullable(String),
cab_type Nullable(String),
precipitation Nullable(Int8),
snow_depth Nullable(Int8),
snowfall Nullable(Int8),
max_temperature Nullable(Int8),
min_temperature Nullable(Int8),
average_wind_speed Nullable(Int8),
pickup_nyct2010_gid Nullable(Int8),
pickup_ctlabel Nullable(String),
pickup_borocode Nullable(Int8),
pickup_boroname Nullable(String),
pickup_ct2010 Nullable(String),
pickup_boroct2010 Nullable(String),
pickup_cdeligibil Nullable(FixedString(1)),
pickup_ntacode Nullable(String),
pickup_ntaname Nullable(String),
pickup_puma Nullable(String),
dropoff_nyct2010_gid Nullable(UInt8),
dropoff_ctlabel Nullable(String),
dropoff_borocode Nullable(UInt8),
dropoff_boroname Nullable(String),
dropoff_ct2010 Nullable(String),
dropoff_boroct2010 Nullable(String),
dropoff_cdeligibil Nullable(String),
dropoff_ntacode Nullable(String),
dropoff_ntaname Nullable(String),
dropoff_puma Nullable(String)
) ENGINE = MergeTree(pickup_date, pickup_datetime, 8192);
เจซเจฟเจฐ เจฎเฉเจ เจเจน เจฏเจเฉเจจเฉ เจฌเจฃเจพเจตเจพเจเจเจพ เจเจฟ เจชเจนเจฟเจฒเจพ เจธเจฐเจตเจฐ เจเจฒเฉฑเจธเจเจฐ เจตเจฟเฉฑเจ เจธเจพเจฐเฉ เจคเจฟเฉฐเจจ เจจเฉเจกเจพเจ เจจเฉเฉฐ เจฆเฉเจ เจธเจเจฆเจพ เจนเฉ.
SELECT *
FROM system.clusters
WHERE cluster = 'perftest_3shards'
FORMAT Vertical;
Row 1:
โโโโโโ
cluster: perftest_3shards
shard_num: 1
shard_weight: 1
replica_num: 1
host_name: 172.30.2.192
host_address: 172.30.2.192
port: 9000
is_local: 1
user: default
default_database:
Row 2:
โโโโโโ
cluster: perftest_3shards
shard_num: 2
shard_weight: 1
replica_num: 1
host_name: 172.30.2.162
host_address: 172.30.2.162
port: 9000
is_local: 0
user: default
default_database:
Row 3:
โโโโโโ
cluster: perftest_3shards
shard_num: 3
shard_weight: 1
replica_num: 1
host_name: 172.30.2.36
host_address: 172.30.2.36
port: 9000
is_local: 0
user: default
default_database:
เจซเจฟเจฐ เจฎเฉเจ เจชเจนเจฟเจฒเฉ เจธเจฐเจตเจฐ 'เจคเฉ เจเฉฑเจ เจจเจตเฉเจ เจธเจพเจฐเจฃเฉ เจจเฉเฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจเจฐเจพเจเจเจพ เจเฉ เจธเจเฉเจฎเจพ 'เจคเฉ เจ
เจงเจพเจฐเจค เจนเฉ trips_mergetree_third
เจ
เจคเฉ เจกเจฟเจธเจเจฐเฉเจฌเจฟเจเจเจฟเจก เจเฉฐเจเจฃ เจฆเฉ เจตเจฐเจคเฉเจ เจเจฐเจฆเจพ เจนเฉเฅค
CREATE TABLE trips_mergetree_x3
AS trips_mergetree_third
ENGINE = Distributed(perftest_3shards,
default,
trips_mergetree_third,
rand());
เจฎเฉเจ เจซเจฟเจฐ MergeTree เจ เจงเจพเจฐเจค เจเฉเจฌเจฒ เจคเฉเจ เจธเจพเจฐเฉ เจคเจฟเฉฐเจจ เจธเจฐเจตเจฐเจพเจ 'เจคเฉ เจกเฉเจเจพ เจฆเฉ เจจเจเจฒ เจเจฐเจพเจเจเจพเฅค เจนเฉเจ เจฒเจฟเจเจฟเจเจ เจจเฉเฉฐ 34 เจฎเจฟเฉฐเจ เจ เจคเฉ 44 เจธเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจพ เจเฉเจคเจพ เจเจฟเจ เจธเฉเฅค
INSERT INTO trips_mergetree_x3
SELECT * FROM trips_mergetree;
เจเจชเจฐเฉเจเจค เจเจพเจฐเจตเจพเจ เจคเฉเจ เจฌเจพเจ เจฆ, เจฎเฉเจ เจเจฒเจฟเจเจนเจพเจเจธ เจจเฉเฉฐ เจตเฉฑเจง เจคเฉเจ เจตเฉฑเจง เจธเจเฉเจฐเฉเจ เจชเฉฑเจงเจฐ เจฆเฉ เจจเจฟเจธเจผเจพเจจ เจคเฉเจ เจฆเฉเจฐ เจเจพเจฃ เจฒเจ 15 เจฎเจฟเฉฐเจ เจฆเจฟเฉฑเจคเฉเฅค เจกเจพเจเจพ เจกเจพเจเจฐเฉเจเจเจฐเฉเจเจ เจคเจฟเฉฐเจจเจพเจ เจธเจฐเจตเจฐเจพเจ เจตเจฟเฉฑเจเฉเจ เจนเจฐเฉเจ 'เจคเฉ เจเฉเจฐเจฎเจตเจพเจฐ 264 GB, 34 GB เจ เจคเฉ 33 GB เจนเฉ เจเจเจเจเฅค
เจเจฒเจฟเจเจนเจพเจเจธ เจเจฒเฉฑเจธเจเจฐ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฎเฉเจฒเจพเจเจเจฃ
เจเฉ เจฎเฉเจ เจ
เฉฑเจเฉ เจฆเฉเจเจฟเจ เจเจน เจธเจญ เจคเฉเจ เจคเฉเจเจผ เจธเจฎเจพเจ เจธเฉ เจเจฆเฉเจ เจฎเฉเจ เจนเจฐเฉเจ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจจเฉเฉฐ เจเจ เจตเจพเจฐ เจเฉเจฌเจฒ 'เจคเฉ เจเจฒเจพเจเจเจฆเฉ เจฆเฉเจเจฟเจ เจนเฉ trips_mergetree_x3
.
$ clickhouse-client --host=0.0.0.0
เจ เฉฑเจเฉ 2.449 เจธเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจพ เจนเฉเจเจเฅค
SELECT cab_type, count(*)
FROM trips_mergetree_x3
GROUP BY cab_type;
เจ เฉฑเจเฉ 0.691 เจธเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจพ เจนเฉเจเจเฅค
SELECT passenger_count,
avg(total_amount)
FROM trips_mergetree_x3
GROUP BY passenger_count;
เจ เฉฑเจเฉ 0 เจธเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจพ เจนเฉเจเจเฅค
SELECT passenger_count,
toYear(pickup_date) AS year,
count(*)
FROM trips_mergetree_x3
GROUP BY passenger_count,
year;
เจ เฉฑเจเฉ 0.983 เจธเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจพ เจนเฉเจเจเฅค
SELECT passenger_count,
toYear(pickup_date) AS year,
round(trip_distance) AS distance,
count(*)
FROM trips_mergetree_x3
GROUP BY passenger_count,
year,
distance
ORDER BY year,
count(*) DESC;
เจคเฉเจฒเจจเจพ เจเจฐเจจ เจฒเจ, เจฎเฉเจ MergeTree-เจ เจงเจพเจฐเจฟเจค เจเฉเจฌเจฒ 'เจคเฉ เจเจนเฉ เจธเจตเจพเจฒ เจเจฒเจพเจ เจเฉ เจธเจฟเจฐเจซเจผ เจชเจนเจฟเจฒเฉ เจธเจฐเจตเจฐ 'เจคเฉ เจฐเจนเจฟเฉฐเจฆเจพ เจนเฉเฅค
เจเฉฑเจ เจเจฒเจฟเจเจนเจพเจเจธ เจจเฉเจก เจฆเจพ เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฎเฉเจฒเจพเจเจเจฃ
เจเฉ เจฎเฉเจ เจ
เฉฑเจเฉ เจฆเฉเจเจฟเจ เจเจน เจธเจญ เจคเฉเจ เจคเฉเจเจผ เจธเจฎเจพเจ เจธเฉ เจเจฆเฉเจ เจฎเฉเจ เจนเจฐเฉเจ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจจเฉเฉฐ เจเจ เจตเจพเจฐ เจเฉเจฌเจฒ 'เจคเฉ เจเจฒเจพเจเจเจฆเฉ เจฆเฉเจเจฟเจ เจนเฉ trips_mergetree_x3
.
เจ เฉฑเจเฉ 0.241 เจธเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจพ เจนเฉเจเจเฅค
SELECT cab_type, count(*)
FROM trips_mergetree
GROUP BY cab_type;
เจ เฉฑเจเฉ 0.826 เจธเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจพ เจนเฉเจเจเฅค
SELECT passenger_count,
avg(total_amount)
FROM trips_mergetree
GROUP BY passenger_count;
เจ เฉฑเจเฉ 1.209 เจธเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจพ เจนเฉเจเจเฅค
SELECT passenger_count,
toYear(pickup_date) AS year,
count(*)
FROM trips_mergetree
GROUP BY passenger_count,
year;
เจ เฉฑเจเฉ 1.781 เจธเจเจฟเฉฐเจเจพเจ เจตเจฟเฉฑเจ เจชเฉเจฐเจพ เจนเฉเจเจเฅค
SELECT passenger_count,
toYear(pickup_date) AS year,
round(trip_distance) AS distance,
count(*)
FROM trips_mergetree
GROUP BY passenger_count,
year,
distance
ORDER BY year,
count(*) DESC;
เจจเจคเฉเจเจฟเจเจ 'เจคเฉ เจชเฉเจฐเจคเฉเจฌเจฟเฉฐเจฌ
เจเจน เจชเจนเจฟเจฒเฉ เจตเจพเจฐ เจนเฉ เจเจฆเฉเจ เจเฉฑเจ เจฎเฉเจซเจค CPU- เจ เจงเจพเจฐเจค เจกเฉเจเจพเจฌเฉเจธ เจฎเฉเจฐเฉ เจเฉเจธเจเจพเจ เจตเจฟเฉฑเจ เจเฉฑเจ GPU- เจ เจงเจพเจฐเจค เจกเฉเจเจพเจฌเฉเจธ เจจเฉเฉฐ เจชเจเจพเฉเจฃ เจฆเฉ เจฏเฉเจ เจธเฉเฅค เจเจน GPU- เจ เจงเจพเจฐเจค เจกเฉเจเจพเจฌเฉเจธ เจเจฆเฉเจ เจคเฉเจ เจฆเฉ เจธเฉฐเจธเจผเฉเจงเจจเจพเจ เจตเจฟเฉฑเจเฉเจ เจฒเฉฐเจเจฟเจ เจนเฉ, เจชเจฐ เจเฉฑเจ เจธเจฟเฉฐเจเจฒ เจจเฉเจก 'เจคเฉ เจเจฒเจฟเจเจนเจพเจเจธ เจฆเฉเจเจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจเฉเจคเฉ เจเจ เจเจพเจฐเจเฉเจเจผเจพเจฐเฉ เจซเจฟเจฐ เจตเฉ เจฌเจนเฉเจค เจชเฉเจฐเจญเจพเจตเจธเจผเจพเจฒเฉ เจนเฉ.
เจเจธ เจฆเฉ เจจเจพเจฒ เจนเฉ, เจเจฆเฉเจ เจเฉฑเจ เจกเจฟเจธเจเฉเจฐเฉเจฌเจฟเจเจเจฟเจก เจเฉฐเจเจฃ 'เจคเฉ เจเจฟเจเจฐเฉ 1 เจจเฉเฉฐ เจเจเจเจผเฉเจเจฟเจเจ เจเฉเจคเจพ เจเจพเจเจฆเจพ เจนเฉ, เจคเจพเจ เจเจตเจฐเจนเฉเฉฑเจก เจฒเจพเจเจคเจพเจ เจฆเฉ เจฎเจพเจคเจฐเจพ เจตเฉฑเจง เจนเฉเฉฐเจฆเฉ เจนเฉเฅค เจฎเฉเจจเฉเฉฐ เจเจฎเฉเจฆ เจนเฉ เจเจฟ เจฎเฉเจ เจเจธ เจชเฉเจธเจ เจฒเจ เจเจชเจฃเฉ เจเฉเจ เจตเจฟเฉฑเจ เจเฉเจ เจเฉเจ เจฒเจฟเจ เจนเฉ เจเจฟเจเจเจเจฟ เจเจน เจฆเฉเจเจฃเจพ เจเฉฐเจเจพ เจนเฉเจตเฉเจเจพ เจเจฟ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจฆเฉ เจธเจฎเฉเจ เจจเฉเฉฐ เจเฉฑเจ เจเจพเจเจฆเจพ เจนเฉ เจเจฟเจเจเจเจฟ เจฎเฉเจ เจเจฒเฉฑเจธเจเจฐ เจตเจฟเฉฑเจ เจนเฉเจฐ เจจเฉเจก เจเฉเฉเจฆเจพ เจนเจพเจเฅค เจนเจพเจฒเจพเจเจเจฟ, เจเจน เจฌเจนเฉเจค เจตเจงเฉเจ เจนเฉ เจเจฟ เจเจฆเฉเจ เจนเฉเจฐ เจชเฉเฉฑเจเจเจฟเฉฑเจเจพเจ เจจเฉเฉฐ เจเจฒเจพเจเจเจฆเฉ เจนเฉเจ, เจชเฉเจฐเจฆเจฐเจธเจผเจจ เจฒเจเจญเจ 2 เจเฉเจฃเจพ เจตเจง เจเจฟเจ เจนเฉ.
เจเจน เจฆเฉเจเจฃเจพ เจเฉฐเจเจพ เจฒเฉฑเจเฉเจเจพ เจเจฟ เจเจฒเจฟเจเจนเจพเจเจธ เจธเจเฉเจฐเฉเจ เจ เจคเฉ เจเจฃเจจเจพ เจจเฉเฉฐ เจตเฉฑเจ เจเจฐเจจ เจฆเฉ เจฏเฉเจ เจนเฉเจฃ เจตเฉฑเจฒ เจตเจฟเจเจธเจฟเจค เจนเฉ เจฐเจฟเจนเจพ เจนเฉ เจคเจพเจ เจเฉ เจเจน เจธเฉเจคเฉฐเจคเจฐ เจคเฉเจฐ 'เจคเฉ เจธเจเฉเจฒ เจเจฐ เจธเจเจฃเฅค HDFS เจธเจฎเจฐเจฅเจจ, เจเฉ เจเจฟ เจชเจฟเจเจฒเฉ เจธเจพเจฒ เจเฉเฉเจฟเจ เจเจฟเจ เจธเฉ, เจเจธ เจตเฉฑเจฒ เจเฉฑเจ เจเจฆเจฎ เจนเฉ เจธเจเจฆเจพ เจนเฉเฅค เจเฉฐเจชเจฟเจเจเจฟเฉฐเจ เจฆเฉ เจฎเจพเจฎเจฒเฉ เจตเจฟเฉฑเจ, เจเฉเจเจฐ เจเฉฑเจ เจธเจฟเฉฐเจเจฒ เจชเฉเฉฑเจเจเจฟเฉฑเจ เจจเฉเฉฐ เจเจฒเฉฑเจธเจเจฐ เจตเจฟเฉฑเจ เจนเฉเจฐ เจจเฉเจก เจเฉเฉ เจเฉ เจคเฉเจเจผ เจเฉเจคเจพ เจเจพ เจธเจเจฆเจพ เจนเฉ, เจคเจพเจ เจเจธ เจธเจพเจซเจเจตเฉเจ เจฐ เจฆเจพ เจญเจตเจฟเฉฑเจ เจฌเจนเฉเจค เจเจเจตเจฒ เจนเฉเฅค
เจเจธ เจชเฉเจธเจ เจจเฉเฉฐ เจชเฉเฉเจนเจจ เจฒเจ เจธเจฎเจพเจ เจเฉฑเจขเจฃ เจฒเจ เจคเฉเจนเจพเจกเจพ เจงเฉฐเจจเจตเจพเจฆเฅค เจฎเฉเจ เจเฉฑเจคเจฐเฉ เจ
เจฎเจฐเฉเจเจพ เจ
เจคเฉ เจฏเฉเจฐเจช เจตเจฟเฉฑเจ เจเจพเจนเจเจพเจ เจจเฉเฉฐ เจธเจฒเจพเจน, เจเจฐเจเฉเจเฉเจเจเจฐ, เจ
เจคเฉ เจ
เจญเจฟเจเจธ เจตเจฟเจเจพเจธ เจธเฉเจตเจพเจตเจพเจ เจฆเฉ เจชเฉเจธเจผเจเจธเจผ เจเจฐเจฆเจพ เจนเจพเจเฅค เจเฉเจเจฐ เจคเฉเจธเฉเจ เจเจธ เจฌเจพเจฐเฉ เจเจฐเจเจพ เจเจฐเจจเจพ เจเจพเจนเฉเฉฐเจฆเฉ เจนเฉ เจเจฟ เจฎเฉเจฐเฉ เจธเฉเจเจพเจ
เจคเฉเจนเจพเจกเฉ เจเจพเจฐเฉเจฌเจพเจฐ เจฆเฉ เจเจฟเจตเฉเจ เจฎเจฆเจฆ เจเจฐ เจธเจเจฆเฉ เจนเจจ, เจคเจพเจ เจเจฟเจฐเจชเจพ เจเจฐเจเฉ เจฎเฉเจฐเฉ เจจเจพเจฒ เจธเฉฐเจชเจฐเจ เจเจฐเฉ
เจธเจฐเฉเจค: www.habr.com