跳至主要内容

AzureQueue 表引擎

此引擎提供与Azure Blob 存储 生态系统的集成,允许流式数据导入。

创建表

CREATE TABLE test (name String, value UInt32)
ENGINE = AzureQueue(...)
[SETTINGS]
[mode = '',]
[after_processing = 'keep',]
[keeper_path = '',]
...

引擎参数

AzureQueue 参数与 AzureBlobStorage 表引擎支持的参数相同。请参阅此处的参数部分。

示例

CREATE TABLE azure_queue_engine_table (name String, value UInt32)
ENGINE=AzureQueue('DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://azurite1:10000/devstoreaccount1/data/')
SETTINGS
mode = 'unordered'

设置

支持的设置集与 S3Queue 表引擎相同,但没有 s3queue_ 前缀。请参阅完整的设置列表

描述

SELECT 对流式导入(除了调试)没有特别的作用,因为每个文件只能导入一次。使用物化视图创建实时线程更为实用。为此

  1. 使用该引擎创建一个表,用于从 S3 中指定的路径读取数据,并将其视为数据流。
  2. 创建一个具有所需结构的表。
  3. 创建一个物化视图,将来自引擎的数据转换为先前创建的表。

MATERIALIZED VIEW 连接到引擎时,它会开始在后台收集数据。

示例

  CREATE TABLE azure_queue_engine_table (name String, value UInt32)
ENGINE=AzureQueue('<endpoint>', 'CSV', 'gzip')
SETTINGS
mode = 'unordered';

CREATE TABLE stats (name String, value UInt32)
ENGINE = MergeTree() ORDER BY name;

CREATE MATERIALIZED VIEW consumer TO stats
AS SELECT name, value FROM azure_queue_engine_table;

SELECT * FROM stats ORDER BY name;

虚拟列

  • _path — 文件的路径。
  • _file — 文件的名称。

有关虚拟列的更多信息,请参阅此处