开源项目教程:Common Crawl Index Table
1. 项目的目录结构及介绍
Common Crawl Index Table 项目的目录结构如下:
cc-index-table/
├── src/
│ └── sql/
│ └── athena/
│ └── cc-index-create-table-flat.sql
├── README.md
└── LICENSE
目录介绍
- src/sql/athena/: 包含用于创建 Athena 表的 SQL 文件。
- cc-index-create-table-flat.sql: 用于创建外部表
ccindex
的 SQL 文件。
- cc-index-create-table-flat.sql: 用于创建外部表
- README.md: 项目说明文档。
- LICENSE: 项目许可证文件,采用 Apache-2.0 许可证。
2. 项目的启动文件介绍
项目的启动文件是 src/sql/athena/cc-index-create-table-flat.sql
。该文件用于在 AWS Athena 中创建一个外部表 ccindex
,以便查询 Common Crawl 的数据。
启动文件内容概述
-- Create cc-index table with flat schema
CREATE EXTERNAL TABLE IF NOT EXISTS ccindex (
url_surtkey STRING,
url STRING,
url_host_name STRING,
url_host_tld STRING,
url_host_2nd_last_part STRING,
url_host_3rd_last_part STRING,
url_host_4th_last_part STRING,
url_host_5th_last_part STRING,
url_host_registry_suffix STRING,
url_host_registered_domain STRING,
url_host_private_suffix STRING,
url_host_private_domain STRING,
url_host_name_reversed STRING,
url_protocol STRING,
url_port INT,
url_path STRING,
url_query STRING,
fetch_time TIMESTAMP,
fetch_status SMALLINT,
fetch_redirect STRING,
content_mime_detected STRING,
content_charset STRING,
content_languages STRING,
warc_filename STRING,
warc_record_offset INT,
warc_record_length INT,
warc_segment STRING
) PARTITIONED BY (
crawl STRING,
subset STRING
) STORED AS parquet
LOCATION 's3://commoncrawl/cc-index/table/cc-main/warc/';
该 SQL 文件定义了表的结构和存储位置,并指定了分区以便于管理和查询。
3. 项目的配置文件介绍
项目的主要配置文件是 src/sql/athena/cc-index-create-table-flat.sql
。该文件包含了表的定义和存储位置的配置。
配置文件内容概述
- 表名:
ccindex
- 存储格式:
STORED AS parquet
- 存储位置:
LOCATION 's3://commoncrawl/cc-index/table/cc-main/warc/'
- 分区:
PARTITIONED BY (crawl STRING, subset STRING)
通过执行该 SQL 文件,可以在 AWS Athena 中创建一个外部表,以便查询 Common Crawl 的数据。
总结
Common Crawl Index Table 项目提供了一个方便的方式来查询 Common Crawl 的数据。通过创建外部表 ccindex
,用户可以利用 AWS Athena 进行高效的查询和数据分析。项目的目录结构清晰,启动文件和配置文件都位于 src/sql/athena/
目录下,便于管理和使用。