mirror of
https://github.com/ClickHouse/ClickHouse.git
synced 2024-11-17 05:03:20 +00:00
30 lines
1.2 KiB
Markdown
30 lines
1.2 KiB
Markdown
|
# 维基访问数据
|
||
|
|
||
|
参考: <http://dumps.wikimedia.org/other/pagecounts-raw/>
|
||
|
|
||
|
创建表结构:
|
||
|
|
||
|
``` sql
|
||
|
CREATE TABLE wikistat
|
||
|
(
|
||
|
date Date,
|
||
|
time DateTime,
|
||
|
project String,
|
||
|
subproject String,
|
||
|
path String,
|
||
|
hits UInt64,
|
||
|
size UInt64
|
||
|
) ENGINE = MergeTree(date, (path, time), 8192);
|
||
|
```
|
||
|
|
||
|
加载数据:
|
||
|
|
||
|
```bash
|
||
|
for i in {2007..2016}; do for j in {01..12}; do echo $i-$j >&2; curl -sSL "http://dumps.wikimedia.org/other/pagecounts-raw/$i/$i-$j/" | grep -oE 'pagecounts-[0-9]+-[0-9]+\.gz'; done; done | sort | uniq | tee links.txt
|
||
|
cat links.txt | while read link; do wget http://dumps.wikimedia.org/other/pagecounts-raw/$(echo $link | sed -r 's/pagecounts-([0-9]{4})([0-9]{2})[0-9]{2}-[0-9]+\.gz/\1/')/$(echo $link | sed -r 's/pagecounts-([0-9]{4})([0-9]{2})[0-9]{2}-[0-9]+\.gz/\1-\2/')/$link; done
|
||
|
ls -1 /opt/wikistat/ | grep gz | while read i; do echo $i; gzip -cd /opt/wikistat/$i | ./wikistat-loader --time="$(echo -n $i | sed -r 's/pagecounts-([0-9]{4})([0-9]{2})([0-9]{2})-([0-9]{2})([0-9]{2})([0-9]{2})\.gz/\1-\2-\3 \4-00-00/')" | clickhouse-client --query="INSERT INTO wikistat FORMAT TabSeparated"; done
|
||
|
```
|
||
|
|
||
|
|
||
|
[Original article](https://clickhouse.yandex/docs/en/getting_started/example_datasets/wikistat/) <!--hide-->
|