Commit Graph

1175 Commits

Author SHA1 Message Date
Robert Schulze
38aecc15a2
Merge pull request #41214 from arenadata/ADQM-528-B
Add enable_extended_results_for_datetime_functions option to return results of type Date32
2022-09-17 19:25:11 +02:00
Robert Schulze
b32b02d844
Merge pull request #40897 from ClickHouse/catboost-bridge-resurrected
Move CatBoost evaluation into clickhouse-library-bridge
2022-09-16 13:12:09 +02:00
Roman Vasin
d82cd7b007 Add many cosmetic changes to C++ code and MD docs 2022-09-16 09:37:30 +00:00
Roman Vasin
5c242de43a Merge branch 'master' of github.com:ClickHouse/ClickHouse into ADQM-528-B 2022-09-15 13:47:51 +00:00
Roman Vasin
3ce66eab83 Correct all needed MD files 2022-09-15 13:28:11 +00:00
Denny Crane
69d90de9a3
Update date-time-functions.md 2022-09-14 15:23:59 -03:00
Denny Crane
cbdbe1077a
Update date-time-functions.md 2022-09-14 12:16:32 -03:00
Denny Crane
132727d212
Doc. Fix links. 2022-09-08 14:37:42 -03:00
Robert Schulze
60f9f6855d
feat: implement catboost in library-bridge
This commit moves the catboost model evaluation out of the server
process into the library-bridge binary. This serves two goals: On the
one hand, crashes / memory corruptions of the catboost library no longer
affect the server. On the other hand, we can forbid loading dynamic
libraries in the server (catboost was the last consumer of this
functionality), thus improving security.

SQL syntax:

  SELECT
    catboostEvaluate('/path/to/model.bin', FEAT_1, ..., FEAT_N) > 0 AS prediction,
    ACTION AS target
  FROM amazon_train
  LIMIT 10

Required configuration:

  <catboost_lib_path>/path/to/libcatboostmodel.so</catboost_lib_path>

*** Implementation Details ***

The internal protocol between the server and the library-bridge is
simple:

- HTTP GET on path "/extdict_ping":
  A ping, used during the handshake to check if the library-bridge runs.

- HTTP POST on path "extdict_request"
  (1) Send a "catboost_GetTreeCount" request from the server to the
      bridge, containing a library path (e.g /home/user/libcatboost.so) and
      a model path (e.g. /home/user/model.bin). Rirst, this unloads the
      catboost library handler associated to the model path (if it was
      loaded), then loads the catboost library handler associated to the
      model path, then executes GetTreeCount() on the library handler and
      finally sends the result back to the server. Step (1) is called once
      by the server from FunctionCatBoostEvaluate::getReturnTypeImpl(). The
      library path handler is unloaded in the beginning because it contains
      state which may no longer be valid if the user runs
      catboost("/path/to/model.bin", ...) more than once and if "model.bin"
      was updated in between.
  (2) Send "catboost_Evaluate" from the server to the bridge, containing
      the model path and the features to run the interference on. Step (2)
      is called multiple times (once per chunk) by the server from function
      FunctionCatBoostEvaluate::executeImpl(). The library handler for the
      given model path is expected to be already loaded by Step (1).

Fixes #27870
2022-09-08 09:01:32 +00:00
Denny Crane
a75eb5ad84
Update date-time-functions.md 2022-09-07 15:59:23 -03:00
Denny Crane
0071ef9e38
Update date-time-functions.md 2022-09-07 15:56:31 -03:00
Kruglov Pavel
582216a3ca
Merge pull request #39919 from pzhdfy/UniqSketch
UniqThetaSketch support set operation such as union/intersect/not
2022-09-05 13:42:14 +02:00
Alexey Milovidov
1963baa11e
Merge pull request #40964 from ClickHouse/fix-docs-formatting
Fix formatting of notes box in documentation
2022-09-04 03:39:39 +03:00
Denny Crane
dd19b0856e
Doc. mapApply, mapFilter, mapUpdate (#40961)
* Update tuple-map-functions.md

* Update tuple-map-functions.md
2022-09-04 00:43:39 +02:00
Robert Schulze
385427ade8
Fix formatting of notes box in documentation
Follow-up to PR #38435
2022-09-03 17:25:14 +00:00
Fangyuan Deng
bc7d661668
Merge branch 'master' into UniqSketch 2022-09-01 19:31:53 +08:00
pzhdfy
acec516271 add docs 2022-09-01 19:31:01 +08:00
Robert Schulze
56eece40ec
Merge pull request #40736 from LevyCory/add-offset-to-formatDateTime
Add timezone offset support  to `formatDateTime`
2022-09-01 09:50:17 +02:00
Robert Schulze
912663b719
Revert "Move CatBoost evaluation into clickhouse-library-bridge" 2022-08-31 20:54:43 +02:00
Robert Schulze
ca01286028
Merge pull request #39629 from ClickHouse/catboost-bridge
Move CatBoost evaluation into clickhouse-library-bridge
2022-08-31 16:16:11 +02:00
Denny Crane
0d7cc82267
Update string-functions.md 2022-08-30 11:08:23 -03:00
Andrey Zvonov
93f9abf130
upd2 2022-08-30 14:41:40 +03:00
Andrey Zvonov
14adea8792
fix error in docs 2022-08-30 14:40:26 +03:00
Cory Levy
1e2eee7146 Remove unnecessary backslashes in markdown sql blocks 2022-08-29 16:31:31 -04:00
Robert Schulze
6b2b3c1eb3
feat: implement catboost in library-bridge
This commit moves the catboost model evaluation out of the server
process into the library-bridge binary. This serves two goals: On the
one hand, crashes / memory corruptions of the catboost library no longer
affect the server. On the other hand, we can forbid loading dynamic
libraries in the server (catboost was the last consumer of this
functionality), thus improving security.

SQL syntax:

  SELECT
    catboostEvaluate('/path/to/model.bin', FEAT_1, ..., FEAT_N) > 0 AS prediction,
    ACTION AS target
  FROM amazon_train
  LIMIT 10

Required configuration:

  <catboost_lib_path>/path/to/libcatboostmodel.so</catboost_lib_path>

*** Implementation Details ***

The internal protocol between the server and the library-bridge is
simple:

- HTTP GET on path "/extdict_ping":
  A ping, used during the handshake to check if the library-bridge runs.

- HTTP POST on path "extdict_request"
  (1) Send a "catboost_GetTreeCount" request from the server to the
      bridge, containing a library path (e.g /home/user/libcatboost.so) and
      a model path (e.g. /home/user/model.bin). Rirst, this unloads the
      catboost library handler associated to the model path (if it was
      loaded), then loads the catboost library handler associated to the
      model path, then executes GetTreeCount() on the library handler and
      finally sends the result back to the server. Step (1) is called once
      by the server from FunctionCatBoostEvaluate::getReturnTypeImpl(). The
      library path handler is unloaded in the beginning because it contains
      state which may no longer be valid if the user runs
      catboost("/path/to/model.bin", ...) more than once and if "model.bin"
      was updated in between.
  (2) Send "catboost_Evaluate" from the server to the bridge, containing
      the model path and the features to run the interference on. Step (2)
      is called multiple times (once per chunk) by the server from function
      FunctionCatBoostEvaluate::executeImpl(). The library handler for the
      given model path is expected to be already loaded by Step (1).

Fixes #27870
2022-08-29 20:26:45 +00:00
DanRoscigno
c4b8137d31 replace symlinks 2022-08-29 12:19:50 -04:00
Cory Levy
deb2a97020 Add docs 2022-08-28 22:28:34 -04:00
DanRoscigno
5b5fcc56aa add slugs 2022-08-28 10:53:34 -04:00
DanRoscigno
db1a3b717c add slugs 2022-08-28 09:58:27 -04:00
DanRoscigno
c4caa35cfd add frontmatter dashes 2022-08-28 09:53:52 -04:00
zvonand
e257f9d0cd update docs, tests + small fixes 2022-08-24 01:09:14 +03:00
zvonand
a9fd733871 updated docs 2022-08-24 01:09:14 +03:00
Andrey Zvonov
f40bd2194f
Update docs/en/sql-reference/functions/date-time-functions.md
Co-authored-by: Robert Schulze <robert@clickhouse.com>
2022-08-23 23:42:19 +03:00
Andrey Zvonov
b54a04d48f
Update docs/en/sql-reference/functions/date-time-functions.md
Co-authored-by: Robert Schulze <robert@clickhouse.com>
2022-08-23 23:42:01 +03:00
Andrey Zvonov
6c1fa6844f
Update docs/en/sql-reference/functions/date-time-functions.md
Co-authored-by: Robert Schulze <robert@clickhouse.com>
2022-08-23 23:41:19 +03:00
Andrey Zvonov
946223df20
Update docs/en/sql-reference/functions/date-time-functions.md
Co-authored-by: Robert Schulze <robert@clickhouse.com>
2022-08-23 23:41:01 +03:00
Andrey Zvonov
e4f00e2f15
Update docs 1
Co-authored-by: Robert Schulze <robert@clickhouse.com>
2022-08-23 23:40:34 +03:00
zvonand
d789dabc9d Fixed , updated docs 2022-08-22 17:36:56 +03:00
zvonand
963d838647 updated docs 2022-08-22 17:36:56 +03:00
Denny Crane
b6329293a9
Update date-time-functions.md 2022-08-21 16:45:13 -03:00
Denny Crane
c926d04c21
Update date-time-functions.md 2022-08-21 16:42:40 -03:00
Denny Crane
54374e22e6
Update date-time-functions.md 2022-08-19 15:09:40 -03:00
Robert Schulze
24615059fb
Merge pull request #40319 from ClickHouse/custom-error-code-in-throwif
Allow custom error code in throwIf
2022-08-19 09:49:35 +02:00
Robert Schulze
f121941916
feat: allow custom error code for SQL function throwIf() 2022-08-17 21:14:40 +00:00
Stephan
5252d41fdb
Provide missing documentation for arrayWithConstant
Documentation of `arrayWithConstant(l, const)`-function, as this was not part of the documentation so far.
2022-08-17 13:21:03 +02:00
Denny Crane
f574b49825
Update array-join.md 2022-08-15 16:45:07 -03:00
Denny Crane
f3b349fd18
Update array-join.md 2022-08-15 16:42:55 -03:00
Denny Crane
73f51a0f19 doc array-join 2022-08-15 16:40:48 -03:00
Robert Schulze
55ff546322
Fix typo 2022-08-11 20:42:59 +00:00
Dan Roscigno
35ee71a908
Merge pull request #40110 from ClickHouse/fix-docs-for-39287
Fix documentation of "modulo(a, b)"
2022-08-11 16:14:28 -04:00