Skip to content

Commit c12cc6d

Browse files
nmreadelfauxten
andcommitted
Enable hdfs, avro and rapidJson/simdJson (#123)
* feat: enable support hdfs and avro stroage * disable: support hdfs on macos compile option * enable: run workflow on pull request open|reopen * Fix minor duplicate flags * Add rapidjson and simdjson * Add json smoke test --------- Co-authored-by: auxten <[email protected]> Co-authored-by: auxten <[email protected]>
1 parent 653735c commit c12cc6d

File tree

3 files changed

+16
-6
lines changed

3 files changed

+16
-6
lines changed

.github/workflows/build_wheels.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ on:
88
required: true
99
release:
1010
types: [created]
11+
pull_request:
12+
types: [opened, reopened]
1113

1214
jobs:
1315
build_wheels_linux:

chdb/build.sh

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,27 +8,29 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
88

99
BUILD_DIR=${PROJ_DIR}/buildlib
1010

11+
HDFS="-DENABLE_HDFS=1 -DENABLE_GSASL_LIBRARY=1 -DENABLE_KRB5=1"
1112
# check current os type
1213
if [ "$(uname)" == "Darwin" ]; then
1314
GLIBC_COMPATIBILITY="-DGLIBC_COMPATIBILITY=0"
1415
UNWIND="-DUSE_UNWIND=0"
1516
JEMALLOC="-DENABLE_JEMALLOC=0"
1617
PYINIT_ENTRY="-Wl,-exported_symbol,_PyInit_${CHDB_PY_MOD}"
18+
HDFS="-DENABLE_HDFS=0 -DENABLE_GSASL_LIBRARY=0 -DENABLE_KRB5=0"
1719
# if Darwin ARM64 (M1, M2), disable AVX
1820
if [ "$(uname -m)" == "arm64" ]; then
1921
CMAKE_TOOLCHAIN_FILE="-DCMAKE_TOOLCHAIN_FILE=cmake/darwin/toolchain-aarch64.cmake"
20-
CPU_FEATURES="-DENABLE_AVX=0 -DENABLE_AVX2=0"
22+
CPU_FEATURES="-DENABLE_AVX=0 -DENABLE_AVX2=0 -DENABLE_SIMDJSON=0"
2123
EMBEDDED_COMPILER="-DENABLE_EMBEDDED_COMPILER=0"
2224
export CXX=/usr/local/opt/llvm/bin/clang++
2325
export CC=/usr/local/opt/llvm/bin/clang
2426
else
2527
EMBEDDED_COMPILER="-DENABLE_EMBEDDED_COMPILER=1"
2628
# disable AVX on Darwin for macos11
2729
if [ "$(sw_vers -productVersion | cut -d. -f1)" -le 11 ]; then
28-
CPU_FEATURES="-DENABLE_AVX=0 -DENABLE_AVX2=0"
30+
CPU_FEATURES="-DENABLE_AVX=0 -DENABLE_AVX2=0 -DENABLE_SIMDJSON=0"
2931
else
3032
# for M1, M2 using x86_64 emulation, we need to disable AVX and AVX2
31-
CPU_FEATURES="-DENABLE_AVX=0 -DENABLE_AVX2=0"
33+
CPU_FEATURES="-DENABLE_AVX=0 -DENABLE_AVX2=0 -DENABLE_SIMDJSON=0"
3234
# # If target macos version is 12, we need to test if support AVX2,
3335
# # because some Mac Pro Late 2013 (MacPro6,1) support AVX but not AVX2
3436
# # just test it on the github action, hope you don't using Mac Pro Late 2013.
@@ -47,7 +49,7 @@ elif [ "$(uname)" == "Linux" ]; then
4749
PYINIT_ENTRY="-Wl,-ePyInit_${CHDB_PY_MOD}"
4850
# only x86_64, enable AVX and AVX2, enable embedded compiler
4951
if [ "$(uname -m)" == "x86_64" ]; then
50-
CPU_FEATURES="-DENABLE_AVX=1 -DENABLE_AVX2=1"
52+
CPU_FEATURES="-DENABLE_AVX=1 -DENABLE_AVX2=1 -DENABLE_SIMDJSON=1"
5153
EMBEDDED_COMPILER="-DENABLE_EMBEDDED_COMPILER=1"
5254
else
5355
CPU_FEATURES="-DENABLE_AVX=0 -DENABLE_AVX2=0 -DNO_ARMV81_OR_HIGHER=1"
@@ -66,17 +68,19 @@ cd ${BUILD_DIR}
6668
cmake -DCMAKE_BUILD_TYPE=Release -DENABLE_THINLTO=0 -DENABLE_TESTS=0 -DENABLE_CLICKHOUSE_SERVER=0 -DENABLE_CLICKHOUSE_CLIENT=0 \
6769
-DENABLE_CLICKHOUSE_KEEPER=0 -DENABLE_CLICKHOUSE_KEEPER_CONVERTER=0 -DENABLE_CLICKHOUSE_LOCAL=1 -DENABLE_CLICKHOUSE_SU=0 -DENABLE_CLICKHOUSE_BENCHMARK=0 \
6870
-DENABLE_AZURE_BLOB_STORAGE=0 -DENABLE_CLICKHOUSE_COPIER=0 -DENABLE_CLICKHOUSE_DISKS=0 -DENABLE_CLICKHOUSE_FORMAT=0 -DENABLE_CLICKHOUSE_GIT_IMPORT=0 \
69-
-DENABLE_AWS_S3=1 -DENABLE_HDFS=0 -DENABLE_HIVE=0 \
71+
-DENABLE_AWS_S3=1 -DENABLE_HIVE=0 -DENABLE_AVRO=1 \
7072
-DENABLE_CLICKHOUSE_OBFUSCATOR=0 -DENABLE_CLICKHOUSE_ODBC_BRIDGE=0 -DENABLE_ODBC=0 -DENABLE_CLICKHOUSE_STATIC_FILES_DISK_UPLOADER=0 \
7173
-DENABLE_KAFKA=0 -DENABLE_MYSQL=0 -DENABLE_NATS=0 -DENABLE_AMQPCPP=0 -DENABLE_NURAFT=0 \
7274
-DENABLE_CASSANDRA=0 -DENABLE_ODBC=0 -DENABLE_NLP=0 \
73-
-DENABLE_KRB5=0 -DENABLE_LDAP=0 \
75+
-DENABLE_LDAP=0 \
76+
${HDFS} \
7477
-DENABLE_LIBRARIES=0 -DENABLE_RUST=0 \
7578
${GLIBC_COMPATIBILITY} \
7679
-DENABLE_UTILS=0 ${EMBEDDED_COMPILER} ${UNWIND} \
7780
-DENABLE_ICU=0 ${JEMALLOC} \
7881
-DENABLE_PARQUET=1 -DENABLE_ROCKSDB=1 -DENABLE_SQLITE=1 -DENABLE_VECTORSCAN=1 \
7982
-DENABLE_PROTOBUF=1 -DENABLE_THRIFT=1 \
83+
-DENABLE_RAPIDJSON=1 \
8084
-DENABLE_BROTLI=1 \
8185
-DENABLE_CLICKHOUSE_ALL=0 -DUSE_STATIC_LIBRARIES=1 -DSPLIT_SHARED_LIBRARIES=0 \
8286
${CPU_FEATURES} \

chdb/test_smoke.sh

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,5 +24,9 @@ python3 -c \
2424
python3 -c \
2525
"import chdb; res = chdb.query('select version()', 'CSV'); print(res.bytes())"
2626

27+
# test json function
28+
python3 -c \
29+
"import chdb; res = chdb.query('select isValidJSON(\'not a json\')', 'CSV'); print(res)"
30+
2731
# test cli
2832
python3 -m chdb "select 1112222222,555" Dataframe

0 commit comments

Comments
 (0)