c++操作Clickhouse数据库读取表数据写入文件
资源文件列表(大概)
clickhouse/base/buffer.h
116B
clickhouse/base/compressed.cpp
5.34KB
clickhouse/base/compressed.h
905B
clickhouse/base/input.cpp
1.78KB
clickhouse/base/input.h
2.26KB
clickhouse/base/output.cpp
2.18KB
clickhouse/base/output.h
3.19KB
clickhouse/base/platform.cpp
22B
clickhouse/base/platform.h
783B
clickhouse/base/singleton.h
127B
clickhouse/base/socket.cpp
9.97KB
clickhouse/base/socket.h
3.39KB
clickhouse/base/sslsocket.cpp
11.07KB
clickhouse/base/sslsocket.h
2.51KB
clickhouse/base/string_utils.h
414B
clickhouse/base/string_view.h
3.44KB
clickhouse/base/wire_format.cpp
2.17KB
clickhouse/base/wire_format.h
2.28KB
clickhouse/block.cpp
2.49KB
clickhouse/client.cpp
22.97KB
clickhouse/client.h
9.34KB
clickhouse/CMakeLists.txt
4.65KB
clickhouse/columns/array.cpp
2.36KB
clickhouse/columns/array.h
1.24KB
clickhouse/columns/column.h
2.09KB
clickhouse/columns/date.cpp
4.97KB
clickhouse/columns/date.h
3.78KB
clickhouse/columns/decimal.cpp
6.54KB
clickhouse/columns/decimal.h
1019B
clickhouse/columns/enum.cpp
2.67KB
clickhouse/columns/enum.h
1.51KB
clickhouse/columns/factory.cpp
6.49KB
clickhouse/columns/factory.h
256B
clickhouse/columns/ip4.cpp
2.25KB
clickhouse/columns/ip4.h
1.54KB
clickhouse/columns/ip6.cpp
2.45KB
clickhouse/columns/ip6.h
1.53KB
clickhouse/columns/itemview.cpp
2.03KB
clickhouse/columns/itemview.h
2.23KB
clickhouse/columns/lowcardinality.cpp
13.08KB
clickhouse/columns/lowcardinality.h
4.61KB
clickhouse/columns/lowcardinalityadaptor.h
1.69KB
clickhouse/columns/nothing.h
1.78KB
clickhouse/columns/nullable.cpp
2.08KB
clickhouse/columns/nullable.h
1.21KB
clickhouse/columns/numeric.cpp
2.58KB
clickhouse/columns/numeric.h
1.88KB
clickhouse/columns/string.cpp
7.14KB
clickhouse/columns/string.h
3.01KB
clickhouse/columns/tuple.cpp
1.87KB
clickhouse/columns/tuple.h
1018B
clickhouse/columns/utils.h
393B
clickhouse/columns/uuid.cpp
1.54KB
clickhouse/columns/uuid.h
1.21KB
clickhouse/error_codes.h
694B
clickhouse/exceptions.h
585B
clickhouse/protocol.h
2.51KB
clickhouse/types/types.cpp
9.66KB
clickhouse/types/types.h
7.52KB
clickhouse/types/type_parser.cpp
7.66KB
clickhouse/types/type_parser.h
1.62KB
GetPropertyUtils.cpp
4.3KB
资源内容介绍
c++操作Clickhouse数据库读取表数据写入文件,c++操作Clickhouse很快,配合调度工具,毫秒级就能完成海量数据写入,编译需要gcc 8.0以上,编译后运行gcc 4.2就可以了,经过大量实践,效果很好。1.升级到gcc8.0以上编译,gcc11.0以上也可以2.注意cmake的版本,至少3.20以上3.在项目根目录下简历build目录,然后cmake ./之后,在make4.运行时注意传递的参数有任何问题,可以联系。 SET ( clickhouse-cpp-lib-src base/compressed.cpp base/input.cpp base/output.cpp base/platform.cpp base/socket.cpp base/wire_format.cpp columns/array.cpp columns/date.cpp columns/decimal.cpp columns/enum.cpp columns/factory.cpp columns/ip4.cpp columns/ip6.cpp columns/lowcardinality.cpp columns/lowcardinalityadaptor.h columns/nullable.cpp columns/numeric.cpp columns/string.cpp columns/tuple.cpp columns/uuid.cpp columns/itemview.cpp types/type_parser.cpp types/types.cpp block.cpp client.cpp query.cpp)IF (WITH_OPENSSL) LIST(APPEND clickhouse-cpp-lib-src base/sslsocket.cpp)ENDIF ()ADD_LIBRARY (clickhouse-cpp-lib SHARED ${clickhouse-cpp-lib-src})SET_TARGET_PROPERTIES(clickhouse-cpp-lib PROPERTIES LINKER_LANGUAGE CXX)TARGET_LINK_LIBRARIES (clickhouse-cpp-lib absl-lib cityhash-lib lz4-lib)ADD_LIBRARY (clickhouse-cpp-lib-static STATIC ${clickhouse-cpp-lib-src})TARGET_LINK_LIBRARIES (clickhouse-cpp-lib-static absl-lib cityhash-lib lz4-lib)IF (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") # there is a problem with __builtin_mul_overflow call at link time # the error looks like: ... undefined reference to `__muloti4' ... # caused by clang bug https://bugs.llvm.org/show_bug.cgi?id=16404 # explicit linking to compiler-rt allows to workaround the problem set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} --rtlib=compiler-rt") # some workaround for linking issues on linux: # /usr/bin/ld: CMakeFiles/simple-test.dir/main.cpp.o: undefined reference to symbol '_Unwind_Resume@@GCC_3.0' # /usr/bin/ld: /lib/x86_64-linux-gnu/libgcc_s.so.1: error adding symbols: DSO missing from command line # FIXME: that workaround breaks clang build on mingw TARGET_LINK_LIBRARIES (clickhouse-cpp-lib gcc_s) TARGET_LINK_LIBRARIES (clickhouse-cpp-lib-static gcc_s)ENDIF ()INSTALL (TARGETS clickhouse-cpp-lib clickhouse-cpp-lib-static ARCHIVE DESTINATION lib LIBRARY DESTINATION lib)# generalINSTALL(FILES block.h DESTINATION include/clickhouse/)INSTALL(FILES client.h DESTINATION include/clickhouse/)INSTALL(FILES error_codes.h DESTINATION include/clickhouse/)INSTALL(FILES exceptions.h DESTINATION include/clickhouse/)INSTALL(FILES protocol.h DESTINATION include/clickhouse/)INSTALL(FILES query.h DESTINATION include/clickhouse/)# baseINSTALL(FILES base/buffer.h DESTINATION include/clickhouse/base/)INSTALL(FILES base/compressed.h DESTINATION include/clickhouse/base/)INSTALL(FILES base/input.h DESTINATION include/clickhouse/base/)INSTALL(FILES base/output.h DESTINATION include/clickhouse/base/)INSTALL(FILES base/platform.h DESTINATION include/clickhouse/base/)INSTALL(FILES base/singleton.h DESTINATION include/clickhouse/base/)INSTALL(FILES base/socket.h DESTINATION include/clickhouse/base/)INSTALL(FILES base/string_utils.h DESTINATION include/clickhouse/base/)INSTALL(FILES base/string_view.h DESTINATION include/clickhouse/base/)INSTALL(FILES base/wire_format.h DESTINATION include/clickhouse/base/)# columnsINSTALL(FILES columns/array.h DESTINATION include/clickhouse/columns/)INSTALL(FILES columns/column.h DESTINATION include/clickhouse/columns/)INSTALL(FILES columns/date.h DESTINATION include/clickhouse/columns/)INSTALL(FILES columns/decimal.h DESTINATION include/clickhouse/columns/)INSTALL(FILES columns/enum.h DESTINATION include/clickhouse/columns/)INSTALL(FILES columns/factory.h DESTINATION include/clickhouse/columns/)INSTALL(FILES columns/ip4.h DESTINATION include/clickhouse/columns/)INSTALL(FILES columns/ip6.h DESTINATION include/clickhouse/columns/)INSTALL(FILES columns/itemview.h DESTINATION include/clickhouse/columns/)INSTALL(FILES columns/lowcardinality.h DESTINATION include/clickhouse/columns/)INSTALL(FILES columns/nullable.h DESTINATION include/clickhouse/columns/)INSTALL(FILES columns/numeric.h DESTINATION include/clickhouse/columns/)INSTALL(FILES columns/string.h DESTINATION include/clickhouse/columns/)INSTALL(FILES columns/tuple.h DESTINATION include/clickhouse/columns/)INSTALL(FILES columns/utils.h DESTINATION include/clickhouse/columns/)INSTALL(FILES columns/uuid.h DESTINATION include/clickhouse/columns/)# typesINSTALL(FILES types/type_parser.h DESTINATION include/clickhouse/types/)INSTALL(FILES types/types.h DESTINATION include/clickhouse/types/)IF (WITH_OPENSSL) TARGET_LINK_LIBRARIES (clickhouse-cpp-lib OpenSSL::SSL) TARGET_LINK_LIBRARIES (clickhouse-cpp-lib-static OpenSSL::SSL)ENDIF ()IF (WIN32 OR MINGW) TARGET_LINK_LIBRARIES (clickhouse-cpp-lib wsock32 ws2_32) TARGET_LINK_LIBRARIES (clickhouse-cpp-lib-static wsock32 ws2_32)ENDIF ()