[ https://issues.apache.org/jira/browse/BAHIR-255?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
ShiminHuang resolved BAHIR-255. ------------------------------- Resolution: Fixed > Kudu flink-sql add hash partitions nums config&onwer config > ----------------------------------------------------------- > > Key: BAHIR-255 > URL: https://issues.apache.org/jira/browse/BAHIR-255 > Project: Bahir > Issue Type: Improvement > Components: Flink Streaming Connectors > Affects Versions: Flink-Next > Environment: maxos > Reporter: ShiminHuang > Priority: Major > Labels: flink-kudu, hash-partition-nums > Fix For: Flink-Next > > Original Estimate: 24h > Remaining Estimate: 24h > > h1. Hash Partition Feature > * The default number of buckets in the previous hash partition was 2* > replicas, and there were some problems in the production environment, so I > felt I should provide the displayed hash partition configuration. > * Add the hash partition number configuration > 'kudu.hash-partition-nums',which defaults to 3 if not specified. > h1. Singleton Test > > {code:java} > public class NewTablePropertiesTest extends KuduCatalogTest{ > private KuduCatalog catalog; > private StreamTableEnvironment tableEnv; > @BeforeEach > public void init() { > StreamExecutionEnvironment env = > StreamExecutionEnvironment.getExecutionEnvironment(); > catalog = new KuduCatalog(harness.getMasterAddressesAsString()); > tableEnv = > KuduTableTestUtils.createTableEnvWithBlinkPlannerStreamingMode(env); > tableEnv.registerCatalog("kudu", catalog); > tableEnv.useCatalog("kudu"); > } > @Test > public void testHashPartitionNums() throws TableNotExistException { > > catalog.dropTable(ObjectPath.fromString(EnvironmentSettings.DEFAULT_BUILTIN_DATABASE > + ".TestTable1"), true); > > catalog.dropTable(ObjectPath.fromString(EnvironmentSettings.DEFAULT_BUILTIN_DATABASE > + ".TestTable2"), true); > tableEnv.executeSql("CREATE TABLE TestTable1 (`first` STRING, > `second` String) WITH ('kudu.hash-columns' = 'first', > 'kudu.primary-key-columns' = 'first')"); > tableEnv.executeSql("CREATE TABLE TestTable2 (`first` STRING, > `second` String) WITH ('kudu.hash-columns' = > 'first','kudu.hash-partition-nums'='6', 'kudu.primary-key-columns' = > 'first')"); > } > @Test > public void testOwner() throws TableNotExistException { > > catalog.dropTable(ObjectPath.fromString(EnvironmentSettings.DEFAULT_BUILTIN_DATABASE > + ".TestTable1"), true); > tableEnv.executeSql("CREATE TABLE TestTable1 (`first` STRING, > `second` String) WITH ('kudu.hash-columns' = 'first', > 'kudu.primary-key-columns' = 'first','kudu.table-owner'='admin')"); > } > } > {code} > h1. Other Ideas > * Regarding the range partition, I think a JSON List can be passed in to > describe the corresponding range partition, and I think the hash partition > and range partition must exist in one > h1. > h1. -- This message was sent by Atlassian Jira (v8.3.4#803005)