Trait for case classes with generated companion objects.
Trait for companion objects of case classes generated with SELECT query.
Trait for companion objects of case classes generated with schema.
Trait for companion objects of case classes generated with table.
Macro annotation for a BigQuery SELECT query.
Macro annotation for a BigQuery SELECT query.
Generate case classes for a BigQuery SELECT query. Note that query must be a string
literal of the SELECT query with optional .stripMargin at the end. For example:
@BigQueryType.fromQuery("SELECT field1, field2 FROM [project:dataset.table]")String formatting syntax can be used in query when additional args are supplied. For
example:
@BigQueryType.fromQuery("SELECT field1, field2 FROM [%s]", "table")
Also generate a companion object with convenience methods.
Macro annotation for a BigQuery schema.
Macro annotation for a BigQuery schema.
Generate case classes for a BigQuery schema. Note that schema must be a string literal of
the JSON schema with optional .stripMargin at the end. For example:
@BigQueryType.fromSchema( """ |{ | "fields": [ | {"mode": "REQUIRED", "name": "f1", "type": "INTEGER"}, | {"mode": "REQUIRED", "name": "f2", "type": "FLOAT"}, | {"mode": "REQUIRED", "name": "f3", "type": "STRING"}, | {"mode": "REQUIRED", "name": "f4", "type": "TIMESTAMP"} | ] |} """.stripMargin) class MyRecord
Also generate a companion object with convenience methods.
Macro annotation for a BigQuery table.
Macro annotation for a BigQuery table.
Generate case classes for a BigQuery table. Note that tableSpec must be a string literal in
the form of project:dataset.table with optional .stripMargin at the end. For example:
@BigQueryType.fromTable("project:dataset.table") class MyRecord
Also generate a companion object with convenience methods.
Macro annotation for case classes to be saved to a BigQuery table.
Macro annotation for case classes to be saved to a BigQuery table.
Note that this annotation does not generate case classes, only a companion object with convenience methods. You need to define a complete case class for as output record. For example:
@BigQueryType.toTable case class Result(name: String, score: Double)
Create a new BigQueryType instance.
Generate a converter function from TableRow to the given case class T.
Generate TableSchema for a case class.
Generate a converter function from the given case class T to TableRow.
Macro annotations and converter generators for BigQuery types.