Class BigtableTableProvider
java.lang.Object
org.apache.beam.sdk.extensions.sql.meta.provider.InMemoryMetaTableProvider
org.apache.beam.sdk.extensions.sql.meta.provider.bigtable.BigtableTableProvider
- All Implemented Interfaces:
TableProvider
@Internal
@AutoService(TableProvider.class)
public class BigtableTableProvider
extends InMemoryMetaTableProvider
TableProvider
for BigtableTable
.
A sample of BigTable table is:
invalid input: '{@code
CREATE EXTERNAL TABLE beamTable(
key VARCHAR NOT NULL,
familyTest ROW<
boolColumn BOOLEAN NOT NULL,
longColumnWithTsAndLabels ROW<
val BIGINT NOT NULL,
timestampMicros BIGINT NOT NULL,
labels VARCHAR
> NOT NULL,
stringArrayColumn ARRAY<VARCHAR> NOT NULL,
doubleColumn DOUBLE NOT NULL,
binaryColumn BINARY NOT NULL
> NOT NULL
)
TYPE 'bigtable'
LOCATION 'googleapis.com/bigtable/projects/<project_id>/instances/<instance_id>/tables/<table_name>'
</pre>
<p>Flat-schema table is also supported. It requires an additional property "columnsMapping" which
describes which familyColumn describes which value in the form "familyName:columnQualifier":
<pre>{@code
CREATE EXTERNAL TABLE beamTable(
key VARCHAR NOT NULL,
boolColumn BOOLEAN NOT NULL,
longColumn BIGINT NOT NULL,
stringColumn VARCHAR NOT NULL,
doubleColumn DOUBLE NOT NULL,
binaryColumn BINARY NOT NULL
)
TYPE 'bigtable'
LOCATION 'googleapis.com/bigtable/projects/<project_id>/instances/<instance_id>/tables/<table_name>'
TBLPROPERTIES '{
"columnsMapping": "f:boolColumn,f:longColumn,f:stringColumn,f2:doubleColumn,f2:binaryColumn"
}'
</pre>'
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbuildBeamSqlTable
(Table table) Build aBeamSqlTable
using the given table meta info.Gets the table type this provider handles.Methods inherited from class org.apache.beam.sdk.extensions.sql.meta.provider.InMemoryMetaTableProvider
createTable, dropTable, getTables
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.apache.beam.sdk.extensions.sql.meta.provider.TableProvider
getSubProvider, getSubProviders, getTable, supportsPartitioning
-
Constructor Details
-
BigtableTableProvider
public BigtableTableProvider()
-
-
Method Details
-
getTableType
Description copied from interface:TableProvider
Gets the table type this provider handles. -
buildBeamSqlTable
Description copied from interface:TableProvider
Build aBeamSqlTable
using the given table meta info.
-