bashkarev/clickhouse
Composer 安装命令:
composer require bashkarev/clickhouse
包简介
Driver yii2 for column-oriented database ClickHouse.
关键字:
README 文档
README
This extension provides the ClickHouse integration for the Yii framework 2.0. Main features:
- SQL commands
- Query builder
- Schema builder
- Migrations
- Batch Insert
- Parallel insert from large CSV files
- Valid handling of UInt64 type in PHP
- Supports Decimals and Nullable fields
Installation
The preferred way to install this extension is through composer.
Either run
composer require bashkarev/clickhouse
Configuration
To use this extension, simply add the following code in your application configuration:
return [ //.... 'clickhouse' => [ 'class' => 'bashkarev\clickhouse\Connection', 'dsn' => 'host=localhost;port=8123;database=default;connect_timeout_with_failover_ms=10', 'username' => 'default', 'password' => '', ], ];
Using DebugPanel
Add the following to you application config to enable it (if you already have the debug module enabled, it is sufficient to just add the panels configuration):
// ... 'bootstrap' => ['debug'], 'modules' => [ 'debug' => [ 'class' => 'yii\\debug\\Module', 'panels' => [ 'clickhouse' => [ 'class' => 'bashkarev\clickhouse\debug\Panel', // 'db' => 'clickhouse', // ClickHouse component ID, defaults to `db`. Uncomment and change this line, if you registered component with a different ID. ], ], ], ], // ...
Using Migrations
In order to enable this command you should adjust the configuration of your console application:
return [ // ... 'controllerMap' => [ 'clickhouse-migrate' => 'bashkarev\clickhouse\console\controllers\MigrateController' ], ];
# creates a new migration named 'create_target' yii clickhouse-migrate/create create_target # applies ALL new migrations yii clickhouse-migrate # reverts the last applied migration yii clickhouse-migrate/down
Access to native SMI2 ClickHouse client
$client = \Yii::$app->clickhouse->getClient();
Insert csv files
Files are uploaded in parallel.
$db = \Yii::$app->clickhouse; $client = $db->getClient(); $results = $client->insertBatchFiles('table_name', ['file_with_data.csv']); $state = $results['file_with_data.csv']; $isSuccess = !$state->isError(); $uploadInfo = $state->responseInfo(); print_r($uploadInfo);
bashkarev/clickhouse 适用场景与选型建议
bashkarev/clickhouse 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 190.85k 次下载、GitHub Stars 达 23, 最近一次更新时间为 2017 年 04 月 18 日, 在 PHP 生态内属于活跃度较高的组件。
它主要适用于以下技术方向: 「yii2」 「clickhouse」 等业务场景。在实际项目中,围绕这些方向常见需要落地的问题包括:接口对接、性能调优、并发安全、与既有框架(Laravel / ThinkPHP / Yii / Webman 等)的兼容适配,以及生产环境的日志埋点与稳定性保障。
我们在过去多个企业项目中使用过 bashkarev/clickhouse 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 bashkarev/clickhouse 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
与 bashkarev/clickhouse 相关的其它包
同方向 / 同关键字的高下载量 PHP Composer 包推荐,方便对比选型:
A custom URL rule class for Yii 2 which allows to create translated URL rules
Symfony ClickhouseMigrationsBundle
Clickhouse Laravel package
SCEditor, a lightweight WYSIWYG BBCode & HTML editor extension for Yii 2.0 Framework
php ClickHouse client library
统计信息
- 总下载量: 190.85k
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 23
- 点击次数: 28
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2017-04-18