This is an automated email from the ASF dual-hosted git repository.

asherman pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git

commit 9518ee2907f3c34721c33968acb117a9a1300320
Author: Peter Rozsa <[email protected]>
AuthorDate: Wed Aug 3 13:03:27 2022 +0000

    IMPALA-10800: Tidy up the be/src/exec directory
    
    This change separates the scanner implementations
    to different folders to make the exec directory clearer.
    
    Change-Id: Ie936c400ea8b112073bba892497ab8a1498c418d
    Reviewed-on: http://gerrit.cloudera.org:8080/18815
    Reviewed-by: Csaba Ringhofer <[email protected]>
    Tested-by: Impala Public Jenkins <[email protected]>
---
 be/CMakeLists.txt                                  | 15 +++++++++
 be/src/codegen/impala-ir.cc                        |  4 +--
 be/src/common/init.cc                              |  2 +-
 be/src/exec/CMakeLists.txt                         | 29 ++++-------------
 be/src/exec/avro/CMakeLists.txt                    | 38 ++++++++++++++++++++++
 be/src/exec/{ => avro}/hdfs-avro-scanner-ir.cc     |  2 +-
 be/src/exec/{ => avro}/hdfs-avro-scanner-test.cc   |  2 +-
 be/src/exec/{ => avro}/hdfs-avro-scanner.cc        |  2 +-
 be/src/exec/{ => avro}/hdfs-avro-scanner.h         |  0
 be/src/exec/data-sink.cc                           |  6 ++--
 be/src/exec/exec-node.cc                           |  8 ++---
 be/src/exec/hbase/CMakeLists.txt                   | 33 +++++++++++++++++++
 be/src/exec/{ => hbase}/hbase-scan-node.cc         |  2 +-
 be/src/exec/{ => hbase}/hbase-scan-node.h          |  2 +-
 be/src/exec/{ => hbase}/hbase-table-scanner.cc     |  4 +--
 be/src/exec/{ => hbase}/hbase-table-scanner.h      |  0
 be/src/exec/{ => hbase}/hbase-table-sink.cc        |  2 +-
 be/src/exec/{ => hbase}/hbase-table-sink.h         |  2 +-
 be/src/exec/{ => hbase}/hbase-table-writer.cc      |  2 +-
 be/src/exec/{ => hbase}/hbase-table-writer.h       |  0
 be/src/exec/hdfs-scan-node-base.cc                 | 13 ++++----
 be/src/exec/kudu/CMakeLists.txt                    | 36 ++++++++++++++++++++
 be/src/exec/{ => kudu}/kudu-scan-node-base.cc      |  6 ++--
 be/src/exec/{ => kudu}/kudu-scan-node-base.h       |  0
 be/src/exec/{ => kudu}/kudu-scan-node-mt.cc        |  6 ++--
 be/src/exec/{ => kudu}/kudu-scan-node-mt.h         |  2 +-
 be/src/exec/{ => kudu}/kudu-scan-node.cc           |  6 ++--
 be/src/exec/{ => kudu}/kudu-scan-node.h            |  2 +-
 be/src/exec/{ => kudu}/kudu-scanner.cc             |  4 +--
 be/src/exec/{ => kudu}/kudu-scanner.h              |  2 +-
 be/src/exec/{ => kudu}/kudu-table-sink.cc          |  4 +--
 be/src/exec/{ => kudu}/kudu-table-sink.h           |  2 +-
 be/src/exec/{ => kudu}/kudu-util-ir.cc             |  2 +-
 be/src/exec/{ => kudu}/kudu-util.cc                |  2 +-
 be/src/exec/{ => kudu}/kudu-util.h                 |  0
 be/src/exec/orc/CMakeLists.txt                     | 32 ++++++++++++++++++
 be/src/exec/{ => orc}/hdfs-orc-scanner.cc          |  4 +--
 be/src/exec/{ => orc}/hdfs-orc-scanner.h           |  2 +-
 be/src/exec/{ => orc}/orc-column-readers.cc        |  2 +-
 be/src/exec/{ => orc}/orc-column-readers.h         |  2 +-
 be/src/exec/{ => orc}/orc-metadata-utils.cc        |  2 +-
 be/src/exec/{ => orc}/orc-metadata-utils.h         |  0
 be/src/exec/rcfile/CMakeLists.txt                  | 30 +++++++++++++++++
 be/src/exec/{ => rcfile}/hdfs-rcfile-scanner.cc    |  4 +--
 be/src/exec/{ => rcfile}/hdfs-rcfile-scanner.h     |  0
 be/src/exec/scan-node.cc                           |  6 ++--
 be/src/exec/sequence/CMakeLists.txt                | 30 +++++++++++++++++
 .../exec/{ => sequence}/hdfs-sequence-scanner.cc   |  2 +-
 be/src/exec/{ => sequence}/hdfs-sequence-scanner.h |  0
 be/src/exec/text/CMakeLists.txt                    | 31 ++++++++++++++++++
 be/src/exec/{ => text}/hdfs-plugin-text-scanner.cc |  2 +-
 be/src/exec/{ => text}/hdfs-plugin-text-scanner.h  |  0
 be/src/exec/{ => text}/hdfs-text-scanner.cc        |  4 +--
 be/src/exec/{ => text}/hdfs-text-scanner.h         |  0
 be/src/exprs/kudu-partition-expr.cc                |  2 +-
 be/src/rpc/authentication.cc                       |  2 +-
 be/src/rpc/impala-service-pool.cc                  |  2 +-
 be/src/rpc/rpc-mgr-kerberized-test.cc              |  2 +-
 be/src/rpc/rpc-mgr-test.h                          |  2 +-
 be/src/rpc/rpc-mgr.cc                              |  2 +-
 be/src/rpc/rpc-mgr.inline.h                        |  2 +-
 be/src/runtime/coordinator-backend-state.cc        |  2 +-
 be/src/runtime/exec-env.cc                         |  2 +-
 be/src/runtime/io/data-cache.cc                    |  2 +-
 be/src/runtime/krpc-data-stream-mgr.cc             |  2 +-
 be/src/runtime/krpc-data-stream-recvr.cc           |  2 +-
 be/src/runtime/krpc-data-stream-sender.cc          |  2 +-
 be/src/runtime/query-state.cc                      |  2 +-
 be/src/service/client-request-state.cc             |  2 +-
 be/src/service/control-service.cc                  |  2 +-
 be/src/service/data-stream-service.cc              |  2 +-
 be/src/service/impalad-main.cc                     |  4 +--
 be/src/testutil/mini-kdc-wrapper.cc                |  2 +-
 be/src/util/network-util.cc                        |  2 +-
 74 files changed, 334 insertions(+), 103 deletions(-)

diff --git a/be/CMakeLists.txt b/be/CMakeLists.txt
index 83a658c00..953ee9331 100644
--- a/be/CMakeLists.txt
+++ b/be/CMakeLists.txt
@@ -432,7 +432,14 @@ set (IMPALA_LIBS
   Catalog
   CodeGen
   Common
+  Avro
+  HBase
+  Kudu
+  Orc
   Parquet
+  Rcfile
+  Sequence
+  Text
   Exec
   Exprs
   GlobalFlags
@@ -486,6 +493,7 @@ set (UNIFIED_TEST_LIBS
   CodeGenTests
   CommonTests
   ExecTests
+  AvroTests
   ExprsTests
   GUtilTests
   IoTests
@@ -514,7 +522,14 @@ if (BUILD_SHARED_LIBS)
     BufferPool
     Io
     Runtime
+    Avro
+    HBase
+    Kudu
+    Orc
     Parquet
+    Rcfile
+    Sequence
+    Text
     Exec
     CodeGen
     Exprs
diff --git a/be/src/codegen/impala-ir.cc b/be/src/codegen/impala-ir.cc
index 8e21c3fcb..4aae36534 100644
--- a/be/src/codegen/impala-ir.cc
+++ b/be/src/codegen/impala-ir.cc
@@ -28,10 +28,10 @@
 #include "codegen/codegen-anyval-ir.cc"
 #include "exec/grouping-aggregator-ir.cc"
 #include "exec/hash-table-ir.cc"
-#include "exec/hdfs-avro-scanner-ir.cc"
+#include "exec/avro/hdfs-avro-scanner-ir.cc"
 #include "exec/hdfs-columnar-scanner-ir.cc"
 #include "exec/hdfs-scanner-ir.cc"
-#include "exec/kudu-util-ir.cc"
+#include "exec/kudu/kudu-util-ir.cc"
 #include "exec/non-grouping-aggregator-ir.cc"
 #include "exec/partitioned-hash-join-builder-ir.cc"
 #include "exec/partitioned-hash-join-node-ir.cc"
diff --git a/be/src/common/init.cc b/be/src/common/init.cc
index fdeb2a835..776076eb6 100644
--- a/be/src/common/init.cc
+++ b/be/src/common/init.cc
@@ -24,7 +24,7 @@
 #include "common/global-flags.h"
 #include "common/logging.h"
 #include "common/status.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "exprs/scalar-expr-evaluator.h"
 #include "exprs/string-functions.h"
 #include "exprs/timezone_db.h"
diff --git a/be/src/exec/CMakeLists.txt b/be/src/exec/CMakeLists.txt
index 6e6c88986..ce0b2e8e1 100644
--- a/be/src/exec/CMakeLists.txt
+++ b/be/src/exec/CMakeLists.txt
@@ -15,7 +15,14 @@
 # specific language governing permissions and limitations
 # under the License.
 
+add_subdirectory(avro)
+add_subdirectory(hbase)
+add_subdirectory(kudu)
+add_subdirectory(orc)
 add_subdirectory(parquet)
+add_subdirectory(rcfile)
+add_subdirectory(sequence)
+add_subdirectory(text)
 
 # where to put generated libraries
 set(LIBRARY_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/exec")
@@ -48,8 +55,6 @@ add_library(Exec
   grouping-aggregator-ir.cc
   grouping-aggregator-partition.cc
   hash-table.cc
-  hbase-table-sink.cc
-  hbase-table-writer.cc
   hdfs-columnar-scanner.cc
   hdfs-columnar-scanner-ir.cc
   hdfs-scan-node.cc
@@ -59,37 +64,19 @@ add_library(Exec
   hdfs-scanner-ir.cc
   hdfs-table-sink.cc
   hdfs-table-writer.cc
-  hdfs-rcfile-scanner.cc
-  hdfs-sequence-scanner.cc
-  hdfs-avro-scanner.cc
-  hdfs-avro-scanner-ir.cc
-  hdfs-plugin-text-scanner.cc
-  hdfs-text-scanner.cc
   hdfs-text-table-writer.cc
-  hdfs-orc-scanner.cc
-  hbase-scan-node.cc
-  hbase-table-scanner.cc
   incr-stats-util.cc
   join-builder.cc
   nested-loop-join-builder.cc
   nested-loop-join-node.cc
   non-grouping-aggregator.cc
   non-grouping-aggregator-ir.cc
-  orc-column-readers.cc
-  orc-metadata-utils.cc
   partial-sort-node.cc
   partitioned-hash-join-builder.cc
   partitioned-hash-join-builder-ir.cc
   partitioned-hash-join-node.cc
   partitioned-hash-join-node-ir.cc
   plan-root-sink.cc
-  kudu-scanner.cc
-  kudu-scan-node.cc
-  kudu-scan-node-base.cc
-  kudu-scan-node-mt.cc
-  kudu-table-sink.cc
-  kudu-util.cc
-  kudu-util-ir.cc
   read-write-util.cc
   scan-node.cc
   scanner-context.cc
@@ -113,7 +100,6 @@ add_library(ExecTests STATIC
   acid-metadata-utils-test.cc
   delimited-text-parser-test.cc
   hash-table-test.cc
-  hdfs-avro-scanner-test.cc
   incr-stats-util-test.cc
   read-write-util-test.cc
   zigzag-test.cc
@@ -129,4 +115,3 @@ ADD_UNIFIED_BE_LSAN_TEST(read-write-util-test 
ReadWriteUtil.*)
 ADD_BE_LSAN_TEST(row-batch-list-test)
 ADD_BE_LSAN_TEST(scratch-tuple-batch-test)
 ADD_UNIFIED_BE_LSAN_TEST(incr-stats-util-test IncrStatsUtilTest.*)
-ADD_UNIFIED_BE_LSAN_TEST(hdfs-avro-scanner-test HdfsAvroScannerTest.*)
diff --git a/be/src/exec/avro/CMakeLists.txt b/be/src/exec/avro/CMakeLists.txt
new file mode 100644
index 000000000..02e253a24
--- /dev/null
+++ b/be/src/exec/avro/CMakeLists.txt
@@ -0,0 +1,38 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+cmake_minimum_required(VERSION 2.6)
+
+# where to put generated libraries
+set(LIBRARY_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/exec/avro")
+
+# where to put generated binaries
+set(EXECUTABLE_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/exec/avro")
+
+add_library(Avro
+  hdfs-avro-scanner.cc
+  hdfs-avro-scanner-ir.cc
+)
+
+add_dependencies(Avro gen-deps)
+
+add_library(AvroTests STATIC
+  hdfs-avro-scanner-test.cc
+)
+add_dependencies(AvroTests gen-deps)
+
+ADD_UNIFIED_BE_LSAN_TEST(hdfs-avro-scanner-test HdfsAvroScannerTest.*)
\ No newline at end of file
diff --git a/be/src/exec/hdfs-avro-scanner-ir.cc 
b/be/src/exec/avro/hdfs-avro-scanner-ir.cc
similarity index 99%
rename from be/src/exec/hdfs-avro-scanner-ir.cc
rename to be/src/exec/avro/hdfs-avro-scanner-ir.cc
index d61e1351a..1a81ff386 100644
--- a/be/src/exec/hdfs-avro-scanner-ir.cc
+++ b/be/src/exec/avro/hdfs-avro-scanner-ir.cc
@@ -19,7 +19,7 @@
 #include <limits>
 
 #include "exec/exec-node.inline.h"
-#include "exec/hdfs-avro-scanner.h"
+#include "exec/avro/hdfs-avro-scanner.h"
 #include "exec/read-write-util.h"
 #include "runtime/date-value.h"
 #include "runtime/mem-tracker.h"
diff --git a/be/src/exec/hdfs-avro-scanner-test.cc 
b/be/src/exec/avro/hdfs-avro-scanner-test.cc
similarity index 99%
rename from be/src/exec/hdfs-avro-scanner-test.cc
rename to be/src/exec/avro/hdfs-avro-scanner-test.cc
index e7086c87d..b652ed101 100644
--- a/be/src/exec/hdfs-avro-scanner-test.cc
+++ b/be/src/exec/avro/hdfs-avro-scanner-test.cc
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/hdfs-avro-scanner.h"
+#include "exec/avro/hdfs-avro-scanner.h"
 
 #include <algorithm>
 #include <limits.h>
diff --git a/be/src/exec/hdfs-avro-scanner.cc 
b/be/src/exec/avro/hdfs-avro-scanner.cc
similarity index 99%
rename from be/src/exec/hdfs-avro-scanner.cc
rename to be/src/exec/avro/hdfs-avro-scanner.cc
index 3cd20ba6e..8a67f266d 100644
--- a/be/src/exec/hdfs-avro-scanner.cc
+++ b/be/src/exec/avro/hdfs-avro-scanner.cc
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/hdfs-avro-scanner.h"
+#include "exec/avro/hdfs-avro-scanner.h"
 
 #include <avro/errors.h>
 #include <algorithm>    // std::min
diff --git a/be/src/exec/hdfs-avro-scanner.h 
b/be/src/exec/avro/hdfs-avro-scanner.h
similarity index 100%
rename from be/src/exec/hdfs-avro-scanner.h
rename to be/src/exec/avro/hdfs-avro-scanner.h
diff --git a/be/src/exec/data-sink.cc b/be/src/exec/data-sink.cc
index 30e120192..ed43ef4ce 100644
--- a/be/src/exec/data-sink.cc
+++ b/be/src/exec/data-sink.cc
@@ -22,10 +22,10 @@
 
 #include "common/logging.h"
 #include "exec/exec-node.h"
-#include "exec/hbase-table-sink.h"
+#include "exec/hbase/hbase-table-sink.h"
 #include "exec/hdfs-table-sink.h"
-#include "exec/kudu-table-sink.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-table-sink.h"
+#include "exec/kudu/kudu-util.h"
 #include "exec/blocking-plan-root-sink.h"
 #include "exec/buffered-plan-root-sink.h"
 #include "exec/nested-loop-join-builder.h"
diff --git a/be/src/exec/exec-node.cc b/be/src/exec/exec-node.cc
index 1d56e5f27..5f2ff77e3 100644
--- a/be/src/exec/exec-node.cc
+++ b/be/src/exec/exec-node.cc
@@ -34,12 +34,12 @@
 #include "exec/empty-set-node.h"
 #include "exec/exchange-node.h"
 #include "exec/exec-node-util.h"
-#include "exec/hbase-scan-node.h"
+#include "exec/hbase/hbase-scan-node.h"
 #include "exec/hdfs-scan-node-mt.h"
 #include "exec/hdfs-scan-node.h"
-#include "exec/kudu-scan-node-mt.h"
-#include "exec/kudu-scan-node.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-scan-node-mt.h"
+#include "exec/kudu/kudu-scan-node.h"
+#include "exec/kudu/kudu-util.h"
 #include "exec/nested-loop-join-node.h"
 #include "exec/partial-sort-node.h"
 #include "exec/partitioned-hash-join-node.h"
diff --git a/be/src/exec/hbase/CMakeLists.txt b/be/src/exec/hbase/CMakeLists.txt
new file mode 100644
index 000000000..c2e8dc939
--- /dev/null
+++ b/be/src/exec/hbase/CMakeLists.txt
@@ -0,0 +1,33 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+cmake_minimum_required(VERSION 2.6)
+
+# where to put generated libraries
+set(LIBRARY_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/exec/hbase")
+
+# where to put generated binaries
+set(EXECUTABLE_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/exec/hbase")
+
+add_library(HBase
+  hbase-scan-node.cc
+  hbase-table-scanner.cc
+  hbase-table-sink.cc
+  hbase-table-writer.cc
+)
+
+add_dependencies(HBase gen-deps)
\ No newline at end of file
diff --git a/be/src/exec/hbase-scan-node.cc 
b/be/src/exec/hbase/hbase-scan-node.cc
similarity index 99%
rename from be/src/exec/hbase-scan-node.cc
rename to be/src/exec/hbase/hbase-scan-node.cc
index 244fd0af0..986968507 100644
--- a/be/src/exec/hbase-scan-node.cc
+++ b/be/src/exec/hbase/hbase-scan-node.cc
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "hbase-scan-node.h"
+#include "exec/hbase/hbase-scan-node.h"
 
 #include <algorithm>
 
diff --git a/be/src/exec/hbase-scan-node.h b/be/src/exec/hbase/hbase-scan-node.h
similarity index 99%
rename from be/src/exec/hbase-scan-node.h
rename to be/src/exec/hbase/hbase-scan-node.h
index a1d020272..88f6b9c74 100644
--- a/be/src/exec/hbase-scan-node.h
+++ b/be/src/exec/hbase/hbase-scan-node.h
@@ -21,7 +21,7 @@
 
 #include <boost/scoped_ptr.hpp>
 #include "runtime/descriptors.h"
-#include "exec/hbase-table-scanner.h"
+#include "exec/hbase/hbase-table-scanner.h"
 #include "exec/scan-node.h"
 
 namespace impala {
diff --git a/be/src/exec/hbase-table-scanner.cc 
b/be/src/exec/hbase/hbase-table-scanner.cc
similarity index 99%
rename from be/src/exec/hbase-table-scanner.cc
rename to be/src/exec/hbase/hbase-table-scanner.cc
index 8913af457..3b4fbf979 100644
--- a/be/src/exec/hbase-table-scanner.cc
+++ b/be/src/exec/hbase/hbase-table-scanner.cc
@@ -15,8 +15,8 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/hbase-table-scanner.h"
-#include "exec/hbase-scan-node.h"
+#include "exec/hbase/hbase-table-scanner.h"
+#include "exec/hbase/hbase-scan-node.h"
 
 #include <cstring>
 #include <algorithm>
diff --git a/be/src/exec/hbase-table-scanner.h 
b/be/src/exec/hbase/hbase-table-scanner.h
similarity index 100%
rename from be/src/exec/hbase-table-scanner.h
rename to be/src/exec/hbase/hbase-table-scanner.h
diff --git a/be/src/exec/hbase-table-sink.cc 
b/be/src/exec/hbase/hbase-table-sink.cc
similarity index 98%
rename from be/src/exec/hbase-table-sink.cc
rename to be/src/exec/hbase/hbase-table-sink.cc
index f87c9680f..d0f7c316e 100644
--- a/be/src/exec/hbase-table-sink.cc
+++ b/be/src/exec/hbase/hbase-table-sink.cc
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/hbase-table-sink.h"
+#include "exec/hbase/hbase-table-sink.h"
 
 #include <vector>
 
diff --git a/be/src/exec/hbase-table-sink.h 
b/be/src/exec/hbase/hbase-table-sink.h
similarity index 98%
rename from be/src/exec/hbase-table-sink.h
rename to be/src/exec/hbase/hbase-table-sink.h
index 60268d413..3da68f607 100644
--- a/be/src/exec/hbase-table-sink.h
+++ b/be/src/exec/hbase/hbase-table-sink.h
@@ -25,7 +25,7 @@
 #include "runtime/row-batch.h"
 #include "runtime/descriptors.h"
 #include "exec/data-sink.h"
-#include "exec/hbase-table-writer.h"
+#include "exec/hbase/hbase-table-writer.h"
 #include "gen-cpp/Data_types.h"
 #include "gen-cpp/Exprs_types.h"
 
diff --git a/be/src/exec/hbase-table-writer.cc 
b/be/src/exec/hbase/hbase-table-writer.cc
similarity index 99%
rename from be/src/exec/hbase-table-writer.cc
rename to be/src/exec/hbase/hbase-table-writer.cc
index 9d75b7c3c..71f0f0fb0 100644
--- a/be/src/exec/hbase-table-writer.cc
+++ b/be/src/exec/hbase/hbase-table-writer.cc
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/hbase-table-writer.h"
+#include "exec/hbase/hbase-table-writer.h"
 
 #include <boost/scoped_array.hpp>
 #include <sstream>
diff --git a/be/src/exec/hbase-table-writer.h 
b/be/src/exec/hbase/hbase-table-writer.h
similarity index 100%
rename from be/src/exec/hbase-table-writer.h
rename to be/src/exec/hbase/hbase-table-writer.h
diff --git a/be/src/exec/hdfs-scan-node-base.cc 
b/be/src/exec/hdfs-scan-node-base.cc
index 8d36019b0..8d3f95a47 100644
--- a/be/src/exec/hdfs-scan-node-base.cc
+++ b/be/src/exec/hdfs-scan-node-base.cc
@@ -18,16 +18,17 @@
 #include "exec/hdfs-scan-node-base.h"
 
 #include "exec/base-sequence-scanner.h"
-#include "exec/hdfs-avro-scanner.h"
 #include "exec/hdfs-columnar-scanner.h"
-#include "exec/hdfs-orc-scanner.h"
-#include "exec/hdfs-plugin-text-scanner.h"
-#include "exec/hdfs-rcfile-scanner.h"
 #include "exec/hdfs-scan-node-mt.h"
 #include "exec/hdfs-scan-node.h"
-#include "exec/hdfs-sequence-scanner.h"
-#include "exec/hdfs-text-scanner.h"
+#include "exec/avro/hdfs-avro-scanner.h"
+#include "exec/orc/hdfs-orc-scanner.h"
 #include "exec/parquet/hdfs-parquet-scanner.h"
+#include "exec/rcfile/hdfs-rcfile-scanner.h"
+#include "exec/sequence/hdfs-sequence-scanner.h"
+#include "exec/text/hdfs-text-scanner.h"
+#include "exec/text/hdfs-plugin-text-scanner.h"
+
 
 #include <avro/errors.h>
 #include <avro/schema.h>
diff --git a/be/src/exec/kudu/CMakeLists.txt b/be/src/exec/kudu/CMakeLists.txt
new file mode 100644
index 000000000..728922c71
--- /dev/null
+++ b/be/src/exec/kudu/CMakeLists.txt
@@ -0,0 +1,36 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+cmake_minimum_required(VERSION 2.6)
+
+# where to put generated libraries
+set(LIBRARY_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/exec/kudu")
+
+# where to put generated binaries
+set(EXECUTABLE_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/exec/kudu")
+
+add_library(Kudu
+  kudu-scanner.cc
+  kudu-scan-node.cc
+  kudu-scan-node-base.cc
+  kudu-scan-node-mt.cc
+  kudu-table-sink.cc
+  kudu-util.cc
+  kudu-util-ir.cc
+)
+
+add_dependencies(Kudu gen-deps)
\ No newline at end of file
diff --git a/be/src/exec/kudu-scan-node-base.cc 
b/be/src/exec/kudu/kudu-scan-node-base.cc
similarity index 97%
rename from be/src/exec/kudu-scan-node-base.cc
rename to be/src/exec/kudu/kudu-scan-node-base.cc
index 2f82200e8..8bc1e9761 100644
--- a/be/src/exec/kudu-scan-node-base.cc
+++ b/be/src/exec/kudu/kudu-scan-node-base.cc
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/kudu-scan-node-base.h"
+#include "exec/kudu/kudu-scan-node-base.h"
 
 #include <boost/algorithm/string.hpp>
 #include <kudu/client/row_result.h>
@@ -24,8 +24,8 @@
 #include <thrift/protocol/TDebugProtocol.h>
 #include <vector>
 
-#include "exec/kudu-scanner.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-scanner.h"
+#include "exec/kudu/kudu-util.h"
 #include "exprs/expr.h"
 #include "runtime/exec-env.h"
 #include "runtime/mem-pool.h"
diff --git a/be/src/exec/kudu-scan-node-base.h 
b/be/src/exec/kudu/kudu-scan-node-base.h
similarity index 100%
rename from be/src/exec/kudu-scan-node-base.h
rename to be/src/exec/kudu/kudu-scan-node-base.h
diff --git a/be/src/exec/kudu-scan-node-mt.cc 
b/be/src/exec/kudu/kudu-scan-node-mt.cc
similarity index 96%
rename from be/src/exec/kudu-scan-node-mt.cc
rename to be/src/exec/kudu/kudu-scan-node-mt.cc
index 412e66aac..5ce336079 100644
--- a/be/src/exec/kudu-scan-node-mt.cc
+++ b/be/src/exec/kudu/kudu-scan-node-mt.cc
@@ -15,13 +15,13 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/kudu-scan-node-mt.h"
+#include "exec/kudu/kudu-scan-node-mt.h"
 
 #include <thrift/protocol/TDebugProtocol.h>
 #include <vector>
 
-#include "exec/kudu-scanner.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-scanner.h"
+#include "exec/kudu/kudu-util.h"
 
 #include "runtime/runtime-state.h"
 #include "runtime/row-batch.h"
diff --git a/be/src/exec/kudu-scan-node-mt.h 
b/be/src/exec/kudu/kudu-scan-node-mt.h
similarity index 97%
rename from be/src/exec/kudu-scan-node-mt.h
rename to be/src/exec/kudu/kudu-scan-node-mt.h
index dff99ca76..7f7381da5 100644
--- a/be/src/exec/kudu-scan-node-mt.h
+++ b/be/src/exec/kudu/kudu-scan-node-mt.h
@@ -18,7 +18,7 @@
 #ifndef IMPALA_EXEC_KUDU_SCAN_NODE_MT_H_
 #define IMPALA_EXEC_KUDU_SCAN_NODE_MT_H_
 
-#include "exec/kudu-scan-node-base.h"
+#include "exec/kudu/kudu-scan-node-base.h"
 
 namespace impala {
 
diff --git a/be/src/exec/kudu-scan-node.cc b/be/src/exec/kudu/kudu-scan-node.cc
similarity index 98%
rename from be/src/exec/kudu-scan-node.cc
rename to be/src/exec/kudu/kudu-scan-node.cc
index ad31a5e88..9c18da8fd 100644
--- a/be/src/exec/kudu-scan-node.cc
+++ b/be/src/exec/kudu/kudu-scan-node.cc
@@ -15,13 +15,13 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/kudu-scan-node.h"
+#include "exec/kudu/kudu-scan-node.h"
 
 #include <thrift/protocol/TDebugProtocol.h>
 
 #include "exec/exec-node-util.h"
-#include "exec/kudu-scanner.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-scanner.h"
+#include "exec/kudu/kudu-util.h"
 #include "exprs/scalar-expr.h"
 #include "gutil/gscoped_ptr.h"
 #include "runtime/blocking-row-batch-queue.h"
diff --git a/be/src/exec/kudu-scan-node.h b/be/src/exec/kudu/kudu-scan-node.h
similarity index 98%
rename from be/src/exec/kudu-scan-node.h
rename to be/src/exec/kudu/kudu-scan-node.h
index b4ed12189..9ef695923 100644
--- a/be/src/exec/kudu-scan-node.h
+++ b/be/src/exec/kudu/kudu-scan-node.h
@@ -22,7 +22,7 @@
 #include <kudu/client/client.h>
 
 #include "common/atomic.h"
-#include "exec/kudu-scan-node-base.h"
+#include "exec/kudu/kudu-scan-node-base.h"
 #include "gutil/gscoped_ptr.h"
 
 namespace impala {
diff --git a/be/src/exec/kudu-scanner.cc b/be/src/exec/kudu/kudu-scanner.cc
similarity index 99%
rename from be/src/exec/kudu-scanner.cc
rename to be/src/exec/kudu/kudu-scanner.cc
index ff6b94e7b..7f510bac5 100644
--- a/be/src/exec/kudu-scanner.cc
+++ b/be/src/exec/kudu/kudu-scanner.cc
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/kudu-scanner.h"
+#include "exec/kudu/kudu-scanner.h"
 
 #include <string>
 #include <vector>
@@ -24,7 +24,7 @@
 #include <thrift/protocol/TDebugProtocol.h>
 
 #include "exec/exec-node.inline.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "exprs/scalar-expr-evaluator.h"
 #include "exprs/scalar-expr.h"
 #include "exprs/slot-ref.h"
diff --git a/be/src/exec/kudu-scanner.h b/be/src/exec/kudu/kudu-scanner.h
similarity index 99%
rename from be/src/exec/kudu-scanner.h
rename to be/src/exec/kudu/kudu-scanner.h
index 04528d958..0fcce2e83 100644
--- a/be/src/exec/kudu-scanner.h
+++ b/be/src/exec/kudu/kudu-scanner.h
@@ -22,7 +22,7 @@
 #include <kudu/client/client.h>
 
 #include "common/object-pool.h"
-#include "exec/kudu-scan-node-base.h"
+#include "exec/kudu/kudu-scan-node-base.h"
 #include "runtime/descriptors.h"
 
 namespace impala {
diff --git a/be/src/exec/kudu-table-sink.cc 
b/be/src/exec/kudu/kudu-table-sink.cc
similarity index 99%
rename from be/src/exec/kudu-table-sink.cc
rename to be/src/exec/kudu/kudu-table-sink.cc
index 1ba1ba986..d65cc40e1 100644
--- a/be/src/exec/kudu-table-sink.cc
+++ b/be/src/exec/kudu/kudu-table-sink.cc
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/kudu-table-sink.h"
+#include "exec/kudu/kudu-table-sink.h"
 
 #include <sstream>
 
@@ -25,7 +25,7 @@
 #include <kudu/client/write_op.h>
 #include <thrift/protocol/TDebugProtocol.h>
 
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "exprs/scalar-expr-evaluator.h"
 #include "exprs/scalar-expr.h"
 #include "gen-cpp/ImpalaInternalService_constants.h"
diff --git a/be/src/exec/kudu-table-sink.h b/be/src/exec/kudu/kudu-table-sink.h
similarity index 99%
rename from be/src/exec/kudu-table-sink.h
rename to be/src/exec/kudu/kudu-table-sink.h
index 7b77ead4c..d571f8763 100644
--- a/be/src/exec/kudu-table-sink.h
+++ b/be/src/exec/kudu/kudu-table-sink.h
@@ -23,7 +23,7 @@
 
 #include "gen-cpp/ImpalaInternalService_constants.h"
 #include "common/status.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "exec/data-sink.h"
 
 namespace impala {
diff --git a/be/src/exec/kudu-util-ir.cc b/be/src/exec/kudu/kudu-util-ir.cc
similarity index 99%
rename from be/src/exec/kudu-util-ir.cc
rename to be/src/exec/kudu/kudu-util-ir.cc
index 1994302f7..d2dcb73af 100644
--- a/be/src/exec/kudu-util-ir.cc
+++ b/be/src/exec/kudu/kudu-util-ir.cc
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include <kudu/common/partial_row.h>
 #include "runtime/decimal-value.h"
 
diff --git a/be/src/exec/kudu-util.cc b/be/src/exec/kudu/kudu-util.cc
similarity index 99%
rename from be/src/exec/kudu-util.cc
rename to be/src/exec/kudu/kudu-util.cc
index b2d536863..048256729 100644
--- a/be/src/exec/kudu-util.cc
+++ b/be/src/exec/kudu/kudu-util.cc
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 
 #include <algorithm>
 #include <string>
diff --git a/be/src/exec/kudu-util.h b/be/src/exec/kudu/kudu-util.h
similarity index 100%
rename from be/src/exec/kudu-util.h
rename to be/src/exec/kudu/kudu-util.h
diff --git a/be/src/exec/orc/CMakeLists.txt b/be/src/exec/orc/CMakeLists.txt
new file mode 100644
index 000000000..5a3a4580d
--- /dev/null
+++ b/be/src/exec/orc/CMakeLists.txt
@@ -0,0 +1,32 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+cmake_minimum_required(VERSION 2.6)
+
+# where to put generated libraries
+set(LIBRARY_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/exec/orc")
+
+# where to put generated binaries
+set(EXECUTABLE_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/exec/orc")
+
+add_library(Orc
+  orc-column-readers.cc
+  orc-metadata-utils.cc
+  hdfs-orc-scanner.cc
+)
+
+add_dependencies(Orc gen-deps)
\ No newline at end of file
diff --git a/be/src/exec/hdfs-orc-scanner.cc 
b/be/src/exec/orc/hdfs-orc-scanner.cc
similarity index 99%
rename from be/src/exec/hdfs-orc-scanner.cc
rename to be/src/exec/orc/hdfs-orc-scanner.cc
index 0f9d23b64..ca62de143 100644
--- a/be/src/exec/hdfs-orc-scanner.cc
+++ b/be/src/exec/orc/hdfs-orc-scanner.cc
@@ -15,13 +15,13 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/hdfs-orc-scanner.h"
+#include "exec/orc/hdfs-orc-scanner.h"
 
 #include <queue>
 #include <set>
 
 #include "exec/exec-node.inline.h"
-#include "exec/orc-column-readers.h"
+#include "exec/orc/orc-column-readers.h"
 #include "exec/scanner-context.inline.h"
 #include "exprs/expr.h"
 #include "exprs/scalar-expr.h"
diff --git a/be/src/exec/hdfs-orc-scanner.h b/be/src/exec/orc/hdfs-orc-scanner.h
similarity index 99%
rename from be/src/exec/hdfs-orc-scanner.h
rename to be/src/exec/orc/hdfs-orc-scanner.h
index 5e2f72226..33ce0f875 100644
--- a/be/src/exec/hdfs-orc-scanner.h
+++ b/be/src/exec/orc/hdfs-orc-scanner.h
@@ -29,7 +29,7 @@
 #include "exec/acid-metadata-utils.h"
 #include "exec/hdfs-columnar-scanner.h"
 #include "exec/hdfs-scan-node.h"
-#include "exec/orc-metadata-utils.h"
+#include "exec/orc/orc-metadata-utils.h"
 #include "util/runtime-profile-counters.h"
 
 namespace impala {
diff --git a/be/src/exec/orc-column-readers.cc 
b/be/src/exec/orc/orc-column-readers.cc
similarity index 99%
rename from be/src/exec/orc-column-readers.cc
rename to be/src/exec/orc/orc-column-readers.cc
index b08ccecb8..5dfbb4f7c 100644
--- a/be/src/exec/orc-column-readers.cc
+++ b/be/src/exec/orc/orc-column-readers.cc
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/orc-column-readers.h"
+#include "exec/orc/orc-column-readers.h"
 
 #include <queue>
 
diff --git a/be/src/exec/orc-column-readers.h 
b/be/src/exec/orc/orc-column-readers.h
similarity index 99%
rename from be/src/exec/orc-column-readers.h
rename to be/src/exec/orc/orc-column-readers.h
index 1fa79e592..7dd967a5c 100644
--- a/be/src/exec/orc-column-readers.h
+++ b/be/src/exec/orc/orc-column-readers.h
@@ -21,7 +21,7 @@
 #include <orc/OrcFile.hh>
 #include <queue>
 
-#include "exec/hdfs-orc-scanner.h"
+#include "exec/orc/hdfs-orc-scanner.h"
 #include "exec/scratch-tuple-batch.h"
 
 namespace impala {
diff --git a/be/src/exec/orc-metadata-utils.cc 
b/be/src/exec/orc/orc-metadata-utils.cc
similarity index 99%
rename from be/src/exec/orc-metadata-utils.cc
rename to be/src/exec/orc/orc-metadata-utils.cc
index a8fbf58c6..95e37f939 100644
--- a/be/src/exec/orc-metadata-utils.cc
+++ b/be/src/exec/orc/orc-metadata-utils.cc
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/orc-metadata-utils.h"
+#include "exec/orc/orc-metadata-utils.h"
 
 #include <stack>
 
diff --git a/be/src/exec/orc-metadata-utils.h 
b/be/src/exec/orc/orc-metadata-utils.h
similarity index 100%
rename from be/src/exec/orc-metadata-utils.h
rename to be/src/exec/orc/orc-metadata-utils.h
diff --git a/be/src/exec/rcfile/CMakeLists.txt 
b/be/src/exec/rcfile/CMakeLists.txt
new file mode 100644
index 000000000..b64c5c39a
--- /dev/null
+++ b/be/src/exec/rcfile/CMakeLists.txt
@@ -0,0 +1,30 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+cmake_minimum_required(VERSION 2.6)
+
+# where to put generated libraries
+set(LIBRARY_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/exec/rcfile")
+
+# where to put generated binaries
+set(EXECUTABLE_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/exec/rcfile")
+
+add_library(Rcfile
+  hdfs-rcfile-scanner.cc
+)
+
+add_dependencies(Rcfile gen-deps)
\ No newline at end of file
diff --git a/be/src/exec/hdfs-rcfile-scanner.cc 
b/be/src/exec/rcfile/hdfs-rcfile-scanner.cc
similarity index 99%
rename from be/src/exec/hdfs-rcfile-scanner.cc
rename to be/src/exec/rcfile/hdfs-rcfile-scanner.cc
index b59da3ab3..2776a1db1 100644
--- a/be/src/exec/hdfs-rcfile-scanner.cc
+++ b/be/src/exec/rcfile/hdfs-rcfile-scanner.cc
@@ -15,13 +15,13 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/hdfs-rcfile-scanner.h"
+#include "exec/rcfile/hdfs-rcfile-scanner.h"
 
 #include <boost/algorithm/string.hpp>
 
 #include "exec/exec-node.inline.h"
 #include "exec/hdfs-scan-node.h"
-#include "exec/hdfs-sequence-scanner.h"
+#include "exec/sequence/hdfs-sequence-scanner.h"
 #include "exec/scanner-context.inline.h"
 #include "exec/text-converter.inline.h"
 #include "runtime/descriptors.h"
diff --git a/be/src/exec/hdfs-rcfile-scanner.h 
b/be/src/exec/rcfile/hdfs-rcfile-scanner.h
similarity index 100%
rename from be/src/exec/hdfs-rcfile-scanner.h
rename to be/src/exec/rcfile/hdfs-rcfile-scanner.h
diff --git a/be/src/exec/scan-node.cc b/be/src/exec/scan-node.cc
index d036d5b62..fb9042334 100644
--- a/be/src/exec/scan-node.cc
+++ b/be/src/exec/scan-node.cc
@@ -21,9 +21,9 @@
 #include <boost/bind.hpp>
 
 #include "exec/data-source-scan-node.h"
-#include "exec/hbase-scan-node.h"
-#include "exec/kudu-scan-node-mt.h"
-#include "exec/kudu-scan-node.h"
+#include "exec/hbase/hbase-scan-node.h"
+#include "exec/kudu/kudu-scan-node-mt.h"
+#include "exec/kudu/kudu-scan-node.h"
 #include "exprs/scalar-expr.h"
 #include "exprs/scalar-expr-evaluator.h"
 #include "runtime/blocking-row-batch-queue.h"
diff --git a/be/src/exec/sequence/CMakeLists.txt 
b/be/src/exec/sequence/CMakeLists.txt
new file mode 100644
index 000000000..f6f528ab2
--- /dev/null
+++ b/be/src/exec/sequence/CMakeLists.txt
@@ -0,0 +1,30 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+cmake_minimum_required(VERSION 2.6)
+
+# where to put generated libraries
+set(LIBRARY_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/exec/sequence")
+
+# where to put generated binaries
+set(EXECUTABLE_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/exec/sequence")
+
+add_library(Sequence
+  hdfs-sequence-scanner.cc
+)
+
+add_dependencies(Sequence gen-deps)
\ No newline at end of file
diff --git a/be/src/exec/hdfs-sequence-scanner.cc 
b/be/src/exec/sequence/hdfs-sequence-scanner.cc
similarity index 99%
rename from be/src/exec/hdfs-sequence-scanner.cc
rename to be/src/exec/sequence/hdfs-sequence-scanner.cc
index 002c54da2..2e3268295 100644
--- a/be/src/exec/hdfs-sequence-scanner.cc
+++ b/be/src/exec/sequence/hdfs-sequence-scanner.cc
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/hdfs-sequence-scanner.h"
+#include "exec/sequence/hdfs-sequence-scanner.h"
 
 #include <string.h>
 #include <algorithm>
diff --git a/be/src/exec/hdfs-sequence-scanner.h 
b/be/src/exec/sequence/hdfs-sequence-scanner.h
similarity index 100%
rename from be/src/exec/hdfs-sequence-scanner.h
rename to be/src/exec/sequence/hdfs-sequence-scanner.h
diff --git a/be/src/exec/text/CMakeLists.txt b/be/src/exec/text/CMakeLists.txt
new file mode 100644
index 000000000..76ed4fd74
--- /dev/null
+++ b/be/src/exec/text/CMakeLists.txt
@@ -0,0 +1,31 @@
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+cmake_minimum_required(VERSION 2.6)
+
+# where to put generated libraries
+set(LIBRARY_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/exec/text")
+
+# where to put generated binaries
+set(EXECUTABLE_OUTPUT_PATH "${BUILD_OUTPUT_ROOT_DIRECTORY}/exec/text")
+
+add_library(Text
+  hdfs-text-scanner.cc
+  hdfs-plugin-text-scanner.cc
+)
+
+add_dependencies(Text gen-deps)
\ No newline at end of file
diff --git a/be/src/exec/hdfs-plugin-text-scanner.cc 
b/be/src/exec/text/hdfs-plugin-text-scanner.cc
similarity index 99%
rename from be/src/exec/hdfs-plugin-text-scanner.cc
rename to be/src/exec/text/hdfs-plugin-text-scanner.cc
index 76772f025..23a180e98 100644
--- a/be/src/exec/hdfs-plugin-text-scanner.cc
+++ b/be/src/exec/text/hdfs-plugin-text-scanner.cc
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/hdfs-plugin-text-scanner.h"
+#include "exec/text/hdfs-plugin-text-scanner.h"
 
 #include <algorithm>
 
diff --git a/be/src/exec/hdfs-plugin-text-scanner.h 
b/be/src/exec/text/hdfs-plugin-text-scanner.h
similarity index 100%
rename from be/src/exec/hdfs-plugin-text-scanner.h
rename to be/src/exec/text/hdfs-plugin-text-scanner.h
diff --git a/be/src/exec/hdfs-text-scanner.cc 
b/be/src/exec/text/hdfs-text-scanner.cc
similarity index 99%
rename from be/src/exec/hdfs-text-scanner.cc
rename to be/src/exec/text/hdfs-text-scanner.cc
index 9338662c0..a592ad7c9 100644
--- a/be/src/exec/hdfs-text-scanner.cc
+++ b/be/src/exec/text/hdfs-text-scanner.cc
@@ -15,7 +15,7 @@
 // specific language governing permissions and limitations
 // under the License.
 
-#include "exec/hdfs-text-scanner.h"
+#include "exec/text/hdfs-text-scanner.h"
 
 #include <string.h>
 #include <algorithm>
@@ -32,7 +32,7 @@
 #include "exec/delimited-text-parser.h"
 #include "exec/delimited-text-parser.inline.h"
 #include "exec/exec-node.inline.h"
-#include "exec/hdfs-plugin-text-scanner.h"
+#include "exec/text/hdfs-plugin-text-scanner.h"
 #include "exec/hdfs-scan-node-base.h"
 #include "exec/hdfs-scan-node.h"
 #include "exec/scanner-context.h"
diff --git a/be/src/exec/hdfs-text-scanner.h 
b/be/src/exec/text/hdfs-text-scanner.h
similarity index 100%
rename from be/src/exec/hdfs-text-scanner.h
rename to be/src/exec/text/hdfs-text-scanner.h
diff --git a/be/src/exprs/kudu-partition-expr.cc 
b/be/src/exprs/kudu-partition-expr.cc
index bad0011f4..dbde3608a 100644
--- a/be/src/exprs/kudu-partition-expr.cc
+++ b/be/src/exprs/kudu-partition-expr.cc
@@ -21,7 +21,7 @@
 
 #include "codegen/codegen-anyval.h"
 #include "codegen/llvm-codegen.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "exprs/scalar-expr-evaluator.h"
 #include "gutil/strings/substitute.h"
 #include "runtime/exec-env.h"
diff --git a/be/src/rpc/authentication.cc b/be/src/rpc/authentication.cc
index 9eb643255..bbf99977e 100644
--- a/be/src/rpc/authentication.cc
+++ b/be/src/rpc/authentication.cc
@@ -41,7 +41,7 @@
 
 #include <ldap.h>
 
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "kudu/rpc/sasl_common.h"
 #include "kudu/security/gssapi.h"
 #include "kudu/security/init.h"
diff --git a/be/src/rpc/impala-service-pool.cc 
b/be/src/rpc/impala-service-pool.cc
index 2f774bd0e..009df3a9d 100644
--- a/be/src/rpc/impala-service-pool.cc
+++ b/be/src/rpc/impala-service-pool.cc
@@ -23,7 +23,7 @@
 #include <vector>
 #include <glog/logging.h>
 
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "gutil/strings/numbers.h"
 #include "kudu/gutil/gscoped_ptr.h"
 #include "kudu/gutil/ref_counted.h"
diff --git a/be/src/rpc/rpc-mgr-kerberized-test.cc 
b/be/src/rpc/rpc-mgr-kerberized-test.cc
index 763dbdb9d..b01e81492 100644
--- a/be/src/rpc/rpc-mgr-kerberized-test.cc
+++ b/be/src/rpc/rpc-mgr-kerberized-test.cc
@@ -19,7 +19,7 @@
 
 #include <boost/filesystem/operations.hpp>
 
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "rpc/auth-provider.h"
 #include "service/fe-support.h"
 #include "testutil/mini-kdc-wrapper.h"
diff --git a/be/src/rpc/rpc-mgr-test.h b/be/src/rpc/rpc-mgr-test.h
index 20caceed5..74309543b 100644
--- a/be/src/rpc/rpc-mgr-test.h
+++ b/be/src/rpc/rpc-mgr-test.h
@@ -19,7 +19,7 @@
 #define IMPALA_RPC_RPC_MGR_TEST_H
 
 #include "common/init.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "kudu/rpc/remote_user.h"
 #include "kudu/rpc/rpc_context.h"
 #include "kudu/rpc/rpc_controller.h"
diff --git a/be/src/rpc/rpc-mgr.cc b/be/src/rpc/rpc-mgr.cc
index 74795a487..926739519 100644
--- a/be/src/rpc/rpc-mgr.cc
+++ b/be/src/rpc/rpc-mgr.cc
@@ -21,7 +21,7 @@
 #include <google/protobuf/descriptor.pb.h>
 #include <google/protobuf/message.h>
 
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "kudu/rpc/acceptor_pool.h"
 #include "kudu/rpc/remote_user.h"
 #include "kudu/rpc/rpc_context.h"
diff --git a/be/src/rpc/rpc-mgr.inline.h b/be/src/rpc/rpc-mgr.inline.h
index dd7d31720..8f819d0d9 100644
--- a/be/src/rpc/rpc-mgr.inline.h
+++ b/be/src/rpc/rpc-mgr.inline.h
@@ -22,7 +22,7 @@
 
 #include <gflags/gflags.h>
 
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "kudu/rpc/messenger.h"
 #include "kudu/rpc/rpc_header.pb.h"
 #include "kudu/rpc/service_pool.h"
diff --git a/be/src/runtime/coordinator-backend-state.cc 
b/be/src/runtime/coordinator-backend-state.cc
index c376bd7af..2df0626cc 100644
--- a/be/src/runtime/coordinator-backend-state.cc
+++ b/be/src/runtime/coordinator-backend-state.cc
@@ -21,7 +21,7 @@
 
 #include "common/object-pool.h"
 #include "exec/exec-node.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "exec/scan-node.h"
 #include "gen-cpp/data_stream_service.proxy.h"
 #include "kudu/rpc/rpc_controller.h"
diff --git a/be/src/runtime/exec-env.cc b/be/src/runtime/exec-env.cc
index f529b6466..dd1bc076c 100644
--- a/be/src/runtime/exec-env.cc
+++ b/be/src/runtime/exec-env.cc
@@ -26,7 +26,7 @@
 #include "catalog/catalog-service-client-wrapper.h"
 #include "common/logging.h"
 #include "common/object-pool.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "kudu/rpc/service_if.h"
 #include "rpc/rpc-mgr.h"
 #include "runtime/bufferpool/buffer-pool.h"
diff --git a/be/src/runtime/io/data-cache.cc b/be/src/runtime/io/data-cache.cc
index 3457c1b17..71ea2452a 100644
--- a/be/src/runtime/io/data-cache.cc
+++ b/be/src/runtime/io/data-cache.cc
@@ -27,7 +27,7 @@
 #include <glog/logging.h>
 
 #include "common/compiler-util.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "kudu/util/env.h"
 #include "kudu/util/locks.h"
 #include "kudu/util/path_util.h"
diff --git a/be/src/runtime/krpc-data-stream-mgr.cc 
b/be/src/runtime/krpc-data-stream-mgr.cc
index 32a62d03d..42258f31d 100644
--- a/be/src/runtime/krpc-data-stream-mgr.cc
+++ b/be/src/runtime/krpc-data-stream-mgr.cc
@@ -25,7 +25,7 @@
 #include "kudu/util/net/sockaddr.h"
 #include "kudu/util/trace.h"
 
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "runtime/exec-env.h"
 #include "runtime/krpc-data-stream-recvr.h"
 #include "runtime/mem-tracker.h"
diff --git a/be/src/runtime/krpc-data-stream-recvr.cc 
b/be/src/runtime/krpc-data-stream-recvr.cc
index 97aa406b2..6fd42236f 100644
--- a/be/src/runtime/krpc-data-stream-recvr.cc
+++ b/be/src/runtime/krpc-data-stream-recvr.cc
@@ -21,7 +21,7 @@
 #include <mutex>
 #include <queue>
 
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "kudu/rpc/rpc_context.h"
 #include "kudu/util/monotime.h"
 #include "kudu/util/trace.h"
diff --git a/be/src/runtime/krpc-data-stream-sender.cc 
b/be/src/runtime/krpc-data-stream-sender.cc
index 3f278af52..6b724abf2 100644
--- a/be/src/runtime/krpc-data-stream-sender.cc
+++ b/be/src/runtime/krpc-data-stream-sender.cc
@@ -27,7 +27,7 @@
 #include "common/logging.h"
 #include "codegen/codegen-anyval.h"
 #include "codegen/llvm-codegen.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "exprs/scalar-expr.h"
 #include "exprs/scalar-expr-evaluator.h"
 #include "gutil/strings/substitute.h"
diff --git a/be/src/runtime/query-state.cc b/be/src/runtime/query-state.cc
index 733a90b51..25a60d10a 100644
--- a/be/src/runtime/query-state.cc
+++ b/be/src/runtime/query-state.cc
@@ -21,7 +21,7 @@
 
 #include "codegen/llvm-codegen.h"
 #include "common/thread-debug-info.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "exprs/expr.h"
 #include "kudu/rpc/rpc_context.h"
 #include "kudu/rpc/rpc_controller.h"
diff --git a/be/src/service/client-request-state.cc 
b/be/src/service/client-request-state.cc
index 125598661..d552a5012 100644
--- a/be/src/service/client-request-state.cc
+++ b/be/src/service/client-request-state.cc
@@ -29,7 +29,7 @@
 
 #include "catalog/catalog-service-client-wrapper.h"
 #include "common/status.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "exprs/timezone_db.h"
 #include "kudu/rpc/rpc_controller.h"
 #include "rpc/rpc-mgr.inline.h"
diff --git a/be/src/service/control-service.cc 
b/be/src/service/control-service.cc
index 8e1dd2d19..c046520e3 100644
--- a/be/src/service/control-service.cc
+++ b/be/src/service/control-service.cc
@@ -19,7 +19,7 @@
 
 #include "common/constant-strings.h"
 #include "common/thread-debug-info.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "kudu/rpc/rpc_context.h"
 #include "kudu/rpc/rpc_controller.h"
 #include "rpc/rpc-mgr.h"
diff --git a/be/src/service/data-stream-service.cc 
b/be/src/service/data-stream-service.cc
index 4cb863585..bbc8b4196 100644
--- a/be/src/service/data-stream-service.cc
+++ b/be/src/service/data-stream-service.cc
@@ -21,7 +21,7 @@
 
 #include "common/constant-strings.h"
 #include "common/status.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "kudu/rpc/rpc_context.h"
 #include "kudu/util/monotime.h"
 #include "rpc/rpc-mgr.h"
diff --git a/be/src/service/impalad-main.cc b/be/src/service/impalad-main.cc
index d65bcc81c..df51e8570 100644
--- a/be/src/service/impalad-main.cc
+++ b/be/src/service/impalad-main.cc
@@ -27,8 +27,8 @@
 #include "common/init.h"
 #include "common/logging.h"
 #include "common/status.h"
-#include "exec/hbase-table-scanner.h"
-#include "exec/hbase-table-writer.h"
+#include "exec/hbase/hbase-table-scanner.h"
+#include "exec/hbase/hbase-table-writer.h"
 #include "exprs/hive-udf-call.h"
 #include "exprs/timezone_db.h"
 #include "gen-cpp/ImpalaService.h"
diff --git a/be/src/testutil/mini-kdc-wrapper.cc 
b/be/src/testutil/mini-kdc-wrapper.cc
index 11c4d6441..ec019b602 100644
--- a/be/src/testutil/mini-kdc-wrapper.cc
+++ b/be/src/testutil/mini-kdc-wrapper.cc
@@ -20,7 +20,7 @@
 #include <string>
 
 #include "common/names.h"
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "gutil/strings/substitute.h"
 #include "kudu/util/env.h"
 #include "rpc/auth-provider.h"
diff --git a/be/src/util/network-util.cc b/be/src/util/network-util.cc
index 484e1be2b..f0c352abe 100644
--- a/be/src/util/network-util.cc
+++ b/be/src/util/network-util.cc
@@ -30,7 +30,7 @@
 #include <boost/uuid/uuid.hpp>
 #include <boost/uuid/uuid_generators.hpp>
 
-#include "exec/kudu-util.h"
+#include "exec/kudu/kudu-util.h"
 #include "kudu/util/net/sockaddr.h"
 #include "util/debug-util.h"
 #include "util/error-util.h"

Reply via email to