<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          oneCkClickHouse TCP 協(xié)議客戶端

          聯(lián)合創(chuàng)作 · 2023-09-29 07:01

          oneCk是一個(gè)PHP實(shí)現(xiàn)的ClickHouse TCP協(xié)議客戶端。

          安裝 

          composer require lizhichao/one-ck

          php5.6 - php7.1 以下版本不支持 Decimal128 ,請(qǐng)使用0.1.x 的版本
          clickhouse QQ交流群 970435787

          支持的數(shù)據(jù)類型 

          •  UInt8, UInt16, UInt32, UInt64, Int8, Int16, Int32, Int64
          •  Float32, Float64
          •  Decimal(P, S), Decimal32(S), Decimal64(S), Decimal128(S)
          •  String
          •  Nothing
          •  FixedString(N)
          •  UUID
          •  Date
          •  Datetime
          •  Datetime64
          •  Nullable(T)
          •  IPv4
          •  IPv6
          •  Array(T)
          •  SimpleAggregateFunction(F, T)

          使用例子 | Demo

          use OneCk\Client;
          use OneCk\Types;
          //default
          //$ck = new Client('tcp://127.0.0.1:9000');
          
          $t1 = microtime(true);
          $ck = new Client('tcp://192.168.31.216:9091', 'default', '123456', 'test1');
          
          $data['server info']  = $ck->getServerInfo();
          $data['drop table']   = $ck->query('DROP TABLE IF EXISTS t6');
          $table                = [
              'CREATE TABLE t6 (',
              '`id` UInt32,',
              '`f1` Int32,',
              '`f2` Nullable(Int32),',
              '`f3` UInt8,',
              '`f4` Nullable(UInt8),',
              '`f5` UInt16,',
              '`f6` UInt64,',
              '`f7` Int64,',
              '`f8` Float32,',
              '`f9` Float64,',
              '`f10` Nullable(Float64),',
              '`f11` Decimal32(3),',
              '`f12` Decimal64(5),',
              '`f13` Decimal128(7),',
              '`f14` Nullable(Decimal128(7)),',
              '`f15` String,',
              '`f16` Nullable(String),',
              '`f17` FixedString(32),',
              '`f18` UUID,',
              '`f19` Date,',
              '`f20` Nullable(Date),',
              '`f21` Datetime,',
              '`f22` Datetime64(3),',
              '`f23` IPv4,',
              '`f24` Nullable(IPv4),',
              '`f25` IPv6,',
              '`f26` LowCardinality(String),',
              '`f27` Array(Int32),',
              '`f28` Array(Array(Array(Nullable(Date)))),',
              '`f29` Array(Array(Array(Array(Array(Nullable(Datetime))))))',
              ') ENGINE = MergeTree() ORDER BY id SETTINGS index_granularity = 8192'
          ];
          $data['create table'] = $ck->query(implode("\n", $table));
          
          $data['insert data'] = $ck->insert('t6', [
              [
                  'id'  => 1,
                  'f1'  => -3,
                  'f2'  => null,
                  'f3'  => 127,
                  'f4'  => null,
                  'f5'  => 3322,
                  'f6'  => 1844674407370955161,
                  'f7'  => 9223372036854775807,
                  'f8'  => -2132121.5,
                  'f9'  => 6546546544665.66658,
                  'f10' => null,
                  'f11' => 552.339,
                  'f12' => 3658.6954,
                  'f13' => '170141183460469231168730371588.4105721',
                  'f14' => null,
                  'f15' => 'emoji??????????',
                  'f16' => null,
                  'f17' => md5('a'),
                  'f18' => '016e64be-605f-4108-8a67-495d74d7ef3c',
                  'f19' => '2020-09-05',
                  'f20' => null,
                  'f21' => '2020-09-05 14:25:12',
                  'f22' => '2020-09-05 14:25:12.258',
                  'f23' => '192.168.1.1',
                  'f24' => null,
                  'f25' => 'CDCD:910A:2222:5498:8475:1111:3900:2020',
                  'f26' => 'eee',
                  'f27' => [0, -2, 3, 4, 5, 6, 7, 8, 64],
                  'f28' => [[['2020-01-05', null, '2020-01-06']], [['2020-01-07'], ['2020-01-08']], [['2020-01-09']]],
                  'f29' => [[[[["2020-01-05 05:05:05", null, "2020-01-06 15:16:17"]], [["2020-01-07 18:19:20"], ["2020-01-08 21:22:23"]], [["2020-01-09 00:00:00"]]], [[["2020-01-10 01:00:00", null]]]], [[[["2020-01-11 00:00:01", null, "2020-01-12 11:01:58"]], [["2020-01-13 21:22:01"]]]]]
              ],
              [
                  'id'  => 2,
                  'f1'  => 3,
                  'f2'  => 3,
                  'f3'  => 3,
                  'f4'  => 3,
                  'f5'  => 3,
                  'f6'  => 3,
                  'f7'  => 3,
                  'f8'  => 3,
                  'f9'  => 3,
                  'f10' => 3,
                  'f11' => -552.339,
                  'f12' => -3658.6954,
                  'f13' => '-170141183460469231168730371588.4105721',
                  'f14' => 3,
                  'f15' => str_repeat(md5('aa'), '6'),
                  'f16' => '',
                  'f17' => md5('55'),
                  'f18' => md5('55'),
                  'f19' => '2020-09-06',
                  'f20' => '2020-09-06',
                  'f21' => '2020-09-06 14:25:12',
                  'f22' => '2020-09-06 14:25:12.258',
                  'f23' => '251.222.221.231',
                  'f24' => '192.168.1.2',
                  'f25' => '1030::C9B4:FF12:48AA:1A2B',
                  'f26' => 'eee22',
                  'f27' => [1, 2, 3, 4],
                  'f28' => [[['2020-01-05', '2020-01-06']], [['2020-01-07', null], ['2020-01-08']], [['2020-01-09']]],
                  'f29' => [[[[[null]]]]]
              ],
              [
                  'id'  => 3,
                  'f1'  => -1,
                  'f2'  => 3,
                  'f3'  => 3,
                  'f4'  => 3,
                  'f5'  => 3,
                  'f6'  => 3,
                  'f7'  => 3,
                  'f8'  => 3,
                  'f9'  => 3,
                  'f10' => 3,
                  'f11' => 3,
                  'f12' => 3,
                  'f13' => 3,
                  'f14' => 3,
                  'f15' => 'aaa',
                  'f16' => 'aaa',
                  'f17' => md5('a'),
                  'f18' => '3026ee79-ac2a-46d2-882d-959a55d71025',
                  'f19' => '2020-09-07',
                  'f20' => '2020-09-07',
                  'f21' => '2020-09-07 14:25:12',
                  'f22' => '2020-09-07 14:25:12.258',
                  'f23' => '192.168.1.1',
                  'f24' => null,
                  'f25' => '2001:DB8:2de::e13',
                  'f26' => 'eee22',
                  'f27' => [12344],
                  'f28' => [[['2020-01-05', '2020-01-06'], [null]], [['2020-01-07'], ['2020-01-08']], [['2020-01-09']]],
                  'f29' => [[[[['2018-01-25 11:25:14']]]]]
              ]
          ]);
          
          
          //$data['struct'] = $ck->query('desc t6');
          
          
          $data['select t6'] = $ck->query('select * from t6');
          
          $data['select t6 int64'] = $ck->query("select id,f6 from t6 where f6=1844674407370955161");
          
          $data['select t6 Decimal32'] = $ck->query("select id,f11 from t6 where f11='552.339'");
          
          $data['select t6 Decimal64'] = $ck->query("select id,f12 from t6 where f12='-3658.69540'");
          
          $data['select t6 Decimal128'] = $ck->query("select id,f13 from t6 where f13='170141183460469231168730371588.4105721'");
          
          $data['select t6 uuid'] = $ck->query("select id,f18 from t6 where f18='3026ee79-ac2a-46d2-882d-959a55d71025'");
          
          $data['select t6 date'] = $ck->query("select id,f19 from t6 where f19='2020-09-05'");
          
          $data['select t6 datetime'] = $ck->query("select id,f21 from t6 where f21='2020-09-07 20:25:12'");
          
          $data['select t6 datetime64'] = $ck->query("select id,f22 from t6 where f22='2020-09-06 20:25:12.258'");
          
          $data['select t6 ip'] = $ck->query("select id,f23,f25 from t6 where f23=" . Types::encodeIpv4('192.168.1.1'));
          
          $data['select t6 ip64'] = $ck->query("select id,f23,f25 from t6 where f25='" . Types::encodeIpv6('1030::c9b4:ff12:48aa:1a2b') . "'");
          
          $data['nothing'] = $ck->query('select array()');
          
          
          
          // flow of  write
          $data['drop table'] = $ck->query('DROP TABLE IF EXISTS t7');
          $table                = [
              'CREATE TABLE t7 (',
              '`id` UInt32,',
              '`f2` Nullable(Int32),',
              '`f5` UInt16,',
              '`f15` String',
              ') ENGINE = MergeTree() ORDER BY id SETTINGS index_granularity = 8192'
          ];
          $data['create table'] = $ck->query(implode("\n", $table));
          $ck->writeStart('t7',['id','f2','f5','f15']);
          for ($i = 0; $i < 100; $i++) {
              $da = [];
              for ($j = 0; $j < 1000; $j++) {
                  $da[] = [
                      'id' => mt_rand(1,1000000),
                      'f2' => mt_rand(-1000000,1000000),
                      'f5' => mt_rand(1,10000),
                      'f15' => md5(mt_rand(1,10000))
                  ];
              }
              $ck->writeBlock($da);
          }
          
          $ck->writeEnd();
          
          $data['write 10w rows time'] = microtime(true) - $t1;
          
          echo json_encode($data);
          

          我的其他倉(cāng)庫(kù)

          瀏覽 18
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          編輯 分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  99视频久久 | 免费在线黄片 | 影音先锋噜噜资源 | 看A片视频 | 五月天婷婷影院影院 |