[ https://issues.apache.org/jira/browse/DRILL-8259?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17570245#comment-17570245 ]
ASF GitHub Bot commented on DRILL-8259: --------------------------------------- luocooong commented on code in PR #2596: URL: https://github.com/apache/drill/pull/2596#discussion_r928083609 ########## contrib/storage-hbase/src/main/java/org/apache/drill/exec/store/hbase/config/HBasePersistentStoreProvider.java: ########## @@ -20,116 +20,233 @@ import java.io.IOException; import java.util.Map; +import org.apache.drill.common.AutoCloseables; import org.apache.drill.common.exceptions.DrillRuntimeException; import org.apache.drill.exec.exception.StoreException; import org.apache.drill.exec.store.hbase.DrillHBaseConstants; import org.apache.drill.exec.store.sys.PersistentStore; import org.apache.drill.exec.store.sys.PersistentStoreConfig; import org.apache.drill.exec.store.sys.PersistentStoreRegistry; import org.apache.drill.exec.store.sys.store.provider.BasePersistentStoreProvider; +import org.apache.drill.shaded.guava.com.google.common.annotations.VisibleForTesting; +import org.apache.drill.shaded.guava.com.google.common.collect.Maps; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.hbase.HBaseConfiguration; -import org.apache.hadoop.hbase.HColumnDescriptor; import org.apache.hadoop.hbase.HConstants; -import org.apache.hadoop.hbase.HTableDescriptor; import org.apache.hadoop.hbase.TableName; import org.apache.hadoop.hbase.client.Admin; +import org.apache.hadoop.hbase.client.ColumnFamilyDescriptorBuilder; import org.apache.hadoop.hbase.client.Connection; import org.apache.hadoop.hbase.client.ConnectionFactory; +import org.apache.hadoop.hbase.client.Durability; import org.apache.hadoop.hbase.client.Table; +import org.apache.hadoop.hbase.client.TableDescriptor; +import org.apache.hadoop.hbase.client.TableDescriptorBuilder; +import org.apache.hadoop.hbase.io.compress.Compression.Algorithm; +import org.apache.hadoop.hbase.io.encoding.DataBlockEncoding; import org.apache.hadoop.hbase.util.Bytes; -import org.apache.drill.shaded.guava.com.google.common.annotations.VisibleForTesting; - public class HBasePersistentStoreProvider extends BasePersistentStoreProvider { private static final org.slf4j.Logger logger = org.slf4j.LoggerFactory.getLogger(HBasePersistentStoreProvider.class); - static final byte[] FAMILY = Bytes.toBytes("s"); + public static final byte[] FAMILY_NAME = Bytes.toBytes("s"); Review Comment: @Z0ltrix Hi. This default family name for 's' should be recorded in the document. If we create a table beforehand, we should let the user know which name to create the column family. But allowing user configuration is also an option. Similarly, table names can continue to be retained with "namespace:table", which is at least consistent with the HBase semantics. > Support advanced HBase persistence storage options > -------------------------------------------------- > > Key: DRILL-8259 > URL: https://issues.apache.org/jira/browse/DRILL-8259 > Project: Apache Drill > Issue Type: New Feature > Components: Storage - HBase > Reporter: Cong Luo > Assignee: Cong Luo > Priority: Major > Fix For: 2.0.0 > > > Its contents are as follows > {code:java} > sys.store.provider: { > class: "org.apache.drill.exec.store.hbase.config.HBasePStoreProvider", > hbase: { > table : "drill_store", > config: { > "hbase.zookeeper.quorum": "zk_host3,zk_host2,zk_host1", > "hbase.zookeeper.property.clientPort": "2181", > "zookeeper.znode.parent": "/hbase-test" > }, > table_config : { > "durability": "ASYNC_WAL", > "compaction_enabled": false, > "split_enabled": false, > "max_filesize": 10737418240, > "memstore_flushsize": 536870912 > }, > column_config : { > "versions": 1, > "ttl": 2626560, > "compression": "SNAPPY", > "blockcache": true, > "blocksize": 131072, > "data_block_encoding": "FAST_DIFF", > "in_memory": true, > "dfs_replication": 3 > } > } > }{code} > -- This message was sent by Atlassian Jira (v8.20.10#820010)