Commit Graph

48 Commits

Author SHA1 Message Date
064b8d2aa6 [fix](multi-catalog) fix coredump when querying partitioned hive table with text format (#14604)
BE will crash when querying partitioned hive table with text format
and put partition column at first of select items.

1. FE should use file slots to set the column mapping index of csv file.
2. BE should use `get_by_name` of block to get right column in a block in csv reader.
2022-11-26 11:42:40 +08:00
724e57bb87 [feature](docker)Add runtime docker image related files (#14436) 2022-11-23 23:58:44 +08:00
6fcffd041c [test](jdbc)add new mysql jdbc case from other source (#14495) 2022-11-23 16:23:42 +08:00
1fe9bced25 [test](jdbc)add more mysql jdbc test case (#14475) 2022-11-22 21:14:10 +08:00
5dfe5ef965 [test](hive catalog)add hive catalog test case (#14217) 2022-11-19 17:26:18 +08:00
512b787559 [fix](parquet-reader) fix stack-use-after-return error (#14411) 2022-11-19 10:52:50 +08:00
02372ca2ea [test](jdbc external table) add new jdbc mysql external table (#14323) 2022-11-19 09:46:48 +08:00
a1d02f36ac [feature](table-valued-function) support hdfs() tvf (#14213)
This pr does two things:
1. support `hdfs()` table valued function.
2. add regression test
2022-11-18 14:17:02 +08:00
44ee4386f7 [test](multi-catalog)Regression test for external hive orc table (#13762)
Add regression test for external hive orc table. This PR has generated all basic types support by hive orc, and create a hive external table to touch them in docker environment.
Functions to be tested:
1. Ensure that all types are parsed correctly
2. Ensure that the null map of all types are parsed correctly
3. Ensure that the `SearchArgument` of `OrcReader` works well
4. Only select partition columns
2022-11-17 20:36:02 +08:00
7182f14645 [improvement][fix](multi-catalog) speed up list partition prune (#14268)
In previous implementation, when doing list partition prune, we need to generation `rangeToId`
every time we doing prune.
But `rangeToId` is actually a static data that should be create-once-use-every-where.

So for hive partition, I created the `rangeToId` and all other necessary data structures for partition prunning
in partition cache, so that we can use it directly.

In my test, the cost of partition prune for 10000 partitions reduce from 8s -> 0.2s.

Aslo add "partition" info in explain string for hive table.
```
|   0:VEXTERNAL_FILE_SCAN_NODE                           |
|      predicates: `nation` = '0024c95b'                 |
|      inputSplitNum=1, totalFileSize=4750, scanRanges=1 |
|      partition=1/10000                                 |
|      numNodes=1                                        |
|      limit: 10                                         |
```

Bug fix:
1. Fix bug that es scan node can not filter data
2. Fix bug that query es with predicate like `where substring(test2,2) = "ext2";` will fail at planner phase.
`Unexpected exception: org.apache.doris.analysis.FunctionCallExpr cannot be cast to org.apache.doris.analysis.SlotRef`

TODO:
1. Some problem when quering es version 8: ` Unexpected exception: Index: 0, Size: 0`, will be fixed later.
2022-11-17 08:30:03 +08:00
30f36070b5 [test](multi-catalog)Regression test for external hive parquet table (#13611) 2022-11-14 14:10:10 +08:00
23a8c7eeb6 (fix)(multi-catalog)(es) Fix error result because not used fields_context (#14229)
Fix error result because not used fields_context
2022-11-14 14:00:55 +08:00
082028b2a2 [test](jdbc postgresql case)add jdbc test case for postgresql (#14162) 2022-11-12 20:43:13 +08:00
78fa167b0a [test](jdbc external table) add jdbc regression test case (#14086) 2022-11-12 20:42:57 +08:00
c418bbd2d1 [feature-wip](new-scan) support Json reader (#13546)
Issue Number: close #12574
This pr adds `NewJsonReader` which implements GenericReader interface to support read json format file.

TODO:
1. modify `_scann_eof` later.
2. Rename `NewJsonReader` to `JsonReader` when `JsonReader` is deleted.
2022-10-26 12:52:21 +08:00
847b80ebfa [test](jdbc) add jdbc and hive regression test (#13143)
1. Modify default behavior of `build.sh`
    The `BUILD_JAVA_UDF` is default ON, so that jvm is needed for compilation and runtime.

2. Add docker-compose for MySQL 5.7, PostgreSQL 14 and Hive 2
   See `docker/thirdparties/docker-compose`.

3. Add some regression test cases for jdbc query on MySQL, PG and Hive Catalog
   The default is `false`, if set to true, you need first start docker for MySQL/PG/Hive.

4. Support `if not exists` and `if exists` for create/drop resource and create/drop encryptkey
2022-10-21 15:29:27 +08:00
353bb6fdfb [doc] update docs (#12615) 2022-09-15 11:07:34 +08:00
5f255af065 [Enhancement](docker): Add elasticsearch docker file (#12377) 2022-09-07 08:47:10 +08:00
dfaed52d32 [docker] Update compile Dockerfile in developer (#10339)
Co-authored-by: manyi <fop@freeoneplus.com>
2022-07-28 10:35:56 +08:00
85d7b3089c [docker] ADD Arm Compile Dockerfile (#10600)
Add the Dockerfile file of the Docker compiled image under the ARM architecture
2022-07-27 19:55:42 +08:00
67f341f44e [TLP](step-1) Remove incubator prefix (#10230)
Remove some `incubator-` prefix in source code.
The document is not modified, will be done in next PR.
2022-06-19 19:34:52 +08:00
f3c44bcd75 [chore][fix](librdkafka) disable librdkafka assert and update some thirdparty (#8425)
1. comment  librdkafka `rd_assert(thrd_is_current(rkb->rkb_thread));` to avoid core dump
2. upgrade arrow to 7.0.0
3. upgrade aws sdk to 1.9
4. upgrade orc to 1.7.2
2022-03-12 22:09:06 +08:00
09bfb8b9d3 [fix] (rpc-udf) Fixed the problem that the query could not be interrupted (#8248)
if an error occurred in the rpc server during the execution of rpc-udf.
Add java,cpp,python demo of rpc-udf server
2022-03-03 09:30:03 +08:00
13f007bfd5 [doc] Modify document of compilation on ARM64 (#8254) 2022-03-01 11:05:18 +08:00
789472a87d [build] change docker image add perf tools and simdjson (#8012) 2022-02-11 18:54:09 +08:00
8aa9faa7cb [chore](docker) Add docker dev image with ldb-toolchain (#7838)
Add docker images `apache/incubator-doris:build-env-ldb-toolchain-latest`,
which is built with ldb-toolchain
2022-01-24 21:12:15 +08:00
43e93180c5 [chore](docker) Add clang11 in docker dev image (#7470) 2021-12-26 11:09:17 +08:00
2d72c039ad [deps](openssl) upgrade openssl to 1.1.1m (#7446)
upgrade openssl to 1.1.1m, ready for support SM2 / SM3 / SM4 national secret (national commercial password) algorithm
2021-12-21 10:09:36 +08:00
e9536a8cf1 [deps](cyrus_sasl) Add -fPIC for cyrus_sasl (#7408) 2021-12-17 13:11:25 +08:00
1686d83302 [Doc] Provide precautions for jdk version switching in the compilation document (#6122) 2021-07-01 09:19:26 +08:00
8ea0ae4792 [Docker] update docker hub url to official repo (#5972) 2021-06-06 22:08:21 +08:00
91043bb116 [BuildEnv] Update Dockerfile add libasan (#5616) 2021-04-11 22:02:49 +08:00
5a0a039026 [refacor] Remove minizip source code (#5571) 2021-04-08 09:12:22 +08:00
95f4f70fce remove unused char at end of file (#5545) 2021-03-22 15:44:34 +08:00
97134c64e4 [Docker] Update Dockerfile using gcc 10 (#5380)
Update Dockerfile ,using gcc 10 as default compiler
2021-03-21 11:21:54 +08:00
364396355a [Dockerfile] Update Dockerfile (#4474)
Update Dockerfile, add nodejs, and change some URL
2020-09-29 10:44:40 +08:00
7ab7388468 Update version of maven to 3.6.3 in dockerfile (#2395)
maven 3.6.0 download URL is outdated, update it to 3.6.3
2019-12-06 14:14:29 +08:00
6759e83a07 Add license header for md files and fix some translation's error (#2137) 2019-11-06 21:35:07 +08:00
5287bc2231 Replace DISCLAIMER with DISCLAIMER-WIP (#2100) 2019-10-30 19:06:21 +08:00
8d2cc71934 Format markdown of docker section (#2098)
[DOC]
This change makes the format correct so that's easier to view.
2019-10-30 16:52:45 +08:00
afff3b3692 Modify dockerfile (#1164)
New docker image include new thirdparties
2019-05-15 18:35:47 +08:00
4907577e99 Copy the latest source code from local in dockerfile (#651)
1. Run git clone may not been executed when docker use cached layer, so I change it to copy latest code from local.
2. Before building docker image, please clone the latest source code firstly.
2019-02-22 14:02:50 +08:00
89339f54ef Set thirdparty env in Docker image (#623)
1. use url env of thirdparty instead of download thirdparty tar in docker file.
2019-02-03 19:29:14 +08:00
43133d08bf Add thirdparty list to Docker_build.md (#620) 2019-02-02 12:57:08 +08:00
6bef41633c Add DORIS_THIRDPARTY env in docker image (#539)
* Add param of specified thirdparty path
1. The thirdparth path can be specify on build.sh: ./build.sh --thirdparty /specified/path/to/thirdparty
2. If there are only thirdparty param of build.sh, it will build both fe and be
3. Add unit test of routine load stmt
4. Remove source code in docker image

* Add DORIS_THIRDPARTY env in docker image
1. Set DORIS_THIRDPARTY env in docker image. The build.sh will use /var/local/thirdparty instead of /source/code/thirdparty
2. remove --thirdparty param of build.sh

* Change image workdir to /root
2019-01-17 14:19:13 +08:00
c403c4e999 Add JDK8 in the docker image (#413) 2018-12-11 15:42:07 +08:00
5f9f01669b Fix building Docker image error (#390) 2018-12-05 18:27:50 +08:00
b946f20e37 Add docker dev environment (#301)
Add a docker based dev environment.
User can build Doris from source in docker container.
2018-11-16 16:35:08 +08:00