macro class fromStorage extends Annotation with StaticAnnotation
Macro annotation for a BigQuery table using the storage API.
Generate case classes for BigQuery storage API, including column projection and filtering. Note
that tableSpec
must be a string literal in the form of project:dataset.table
with optional
.stripMargin
at the end. For example:
@BigQueryType.fromStorage("project:dataset.table") class MyRecord
- Annotations
- @nowarn() @compileTimeOnly("enable macro paradise (2.12) or -Ymacro-annotations (2.13) to expand macro annotations")
- Source
- BigQueryType.scala
- Alphabetic
- By Inheritance
- fromStorage
- StaticAnnotation
- Annotation
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new fromStorage(tableSpec: String, args: List[Any] = Nil, selectedFields: List[String] = Nil, rowRestriction: String = "")
- selectedFields
names of the fields in the table that should be read. If empty, all fields will be read. If the specified field is a nested field, all the sub-fields in the field will be selected. Fields will always appear in the generated class in the same order as they appear in the table, regardless of the order specified in selectedFields.
- rowRestriction
SQL text filtering statement, similar ti a WHERE clause in a query. Currently, we support combinations of predicates that are a comparison between a column and a constant value in SQL statement. Aggregates are not supported. For example:
"a > DATE '2014-09-27' AND (b > 5 AND c LIKE 'date')"
String formatting syntax can be used in
tableSpec
when additionalargs
are supplied. For example:@BigQueryType.fromStorage("project:dataset.%s", "table")
"$LATEST" can be used as a placeholder for table partitions. The latest partition available will be used. For example:
@BigQueryType.fromStorage("project:dataset.table_%s", "$LATEST")
Also generate a companion object with convenience methods.
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- macro def macroTransform(annottees: Any*): Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()