@Internal public class HBaseTableSource extends Object implements org.apache.flink.table.sources.BatchTableSource<org.apache.flink.types.Row>, org.apache.flink.table.sources.ProjectableTableSource<org.apache.flink.types.Row>, org.apache.flink.table.sources.StreamTableSource<org.apache.flink.types.Row>, org.apache.flink.table.sources.LookupableTableSource<org.apache.flink.types.Row>
The table name and required HBase configuration is passed during HBaseTableSource construction.
Use addColumn(String, String, Class) to specify the family, qualifier, and type of columns to scan.
The TableSource returns Row with nested Rows for each column family.
The HBaseTableSource is used as shown in the example below.
HBaseTableSource hSrc = new HBaseTableSource(conf, "hTable");
hSrc.setRowKey("rowkey", String.class);
hSrc.addColumn("fam1", "col1", byte[].class);
hSrc.addColumn("fam1", "col2", Integer.class);
hSrc.addColumn("fam2", "col1", String.class);
tableEnv.registerTableSourceInternal("hTable", hSrc);
Table res = tableEnv.sqlQuery(
"SELECT t.fam2.col1, SUM(t.fam1.col2) FROM hTable AS t " +
"WHERE t.rowkey LIKE 'flink%' GROUP BY t.fam2.col1");
| 构造器和说明 |
|---|
HBaseTableSource(org.apache.hadoop.conf.Configuration conf,
String tableName)
The HBase configuration and the name of the table to read.
|
HBaseTableSource(org.apache.hadoop.conf.Configuration conf,
String tableName,
HBaseTableSchema hbaseSchema,
int[] projectFields) |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
addColumn(String family,
String qualifier,
Class<?> clazz)
Adds a column defined by family, qualifier, and type to the table schema.
|
String |
explainSource() |
org.apache.flink.table.functions.AsyncTableFunction<org.apache.flink.types.Row> |
getAsyncLookupFunction(String[] lookupKeys) |
org.apache.flink.api.java.DataSet<org.apache.flink.types.Row> |
getDataSet(org.apache.flink.api.java.ExecutionEnvironment execEnv) |
org.apache.flink.streaming.api.datastream.DataStream<org.apache.flink.types.Row> |
getDataStream(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment execEnv) |
HBaseTableSchema |
getHBaseTableSchema() |
org.apache.flink.table.functions.TableFunction<org.apache.flink.types.Row> |
getLookupFunction(String[] lookupKeys) |
org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.types.Row> |
getReturnType() |
org.apache.flink.table.api.TableSchema |
getTableSchema() |
boolean |
isAsyncEnabled() |
boolean |
isBounded() |
HBaseTableSource |
projectFields(int[] fields) |
void |
setCharset(String charset)
Specifies the charset to parse Strings to HBase byte[] keys and String values.
|
void |
setRowKey(String rowKeyName,
Class<?> clazz)
Sets row key information in the table schema.
|
public HBaseTableSource(org.apache.hadoop.conf.Configuration conf,
String tableName)
conf - hbase configurationtableName - the tableNamepublic HBaseTableSource(org.apache.hadoop.conf.Configuration conf,
String tableName,
HBaseTableSchema hbaseSchema,
int[] projectFields)
public void addColumn(String family, String qualifier, Class<?> clazz)
family - the family namequalifier - the qualifier nameclazz - the data type of the qualifierpublic void setRowKey(String rowKeyName, Class<?> clazz)
rowKeyName - the row key field nameclazz - the data type of the row keypublic void setCharset(String charset)
charset - Name of the charset to use.public org.apache.flink.api.common.typeinfo.TypeInformation<org.apache.flink.types.Row> getReturnType()
getReturnType 在接口中 org.apache.flink.table.sources.TableSource<org.apache.flink.types.Row>public org.apache.flink.table.api.TableSchema getTableSchema()
getTableSchema 在接口中 org.apache.flink.table.sources.TableSource<org.apache.flink.types.Row>public org.apache.flink.api.java.DataSet<org.apache.flink.types.Row> getDataSet(org.apache.flink.api.java.ExecutionEnvironment execEnv)
getDataSet 在接口中 org.apache.flink.table.sources.BatchTableSource<org.apache.flink.types.Row>public HBaseTableSource projectFields(int[] fields)
projectFields 在接口中 org.apache.flink.table.sources.ProjectableTableSource<org.apache.flink.types.Row>public String explainSource()
explainSource 在接口中 org.apache.flink.table.sources.TableSource<org.apache.flink.types.Row>public org.apache.flink.table.functions.TableFunction<org.apache.flink.types.Row> getLookupFunction(String[] lookupKeys)
getLookupFunction 在接口中 org.apache.flink.table.sources.LookupableTableSource<org.apache.flink.types.Row>public org.apache.flink.table.functions.AsyncTableFunction<org.apache.flink.types.Row> getAsyncLookupFunction(String[] lookupKeys)
getAsyncLookupFunction 在接口中 org.apache.flink.table.sources.LookupableTableSource<org.apache.flink.types.Row>public boolean isAsyncEnabled()
isAsyncEnabled 在接口中 org.apache.flink.table.sources.LookupableTableSource<org.apache.flink.types.Row>public boolean isBounded()
isBounded 在接口中 org.apache.flink.table.sources.StreamTableSource<org.apache.flink.types.Row>public org.apache.flink.streaming.api.datastream.DataStream<org.apache.flink.types.Row> getDataStream(org.apache.flink.streaming.api.environment.StreamExecutionEnvironment execEnv)
getDataStream 在接口中 org.apache.flink.table.sources.StreamTableSource<org.apache.flink.types.Row>@VisibleForTesting public HBaseTableSchema getHBaseTableSchema()
Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.