trait Table extends Tabular
The Table
trait defines methods for operating on vectors.
The vectors form the columns of the columnar relational datastore.
Columns may have any of the following types:
C - Complex
- VectorC
- 128 bit complex number a + bi
D - Double
- VectorD
- 64 bit double precision floating point number
I - Int
- VectorI
- 32 bit integer
L - Long
- VectorL
- 64 bit long integer
Q - Rational
- VectorQ
- 128 bit ratio of two long integers
R - Real
- VectorR
- 128 bit quad precision floating point number
S - StrNum
- VectorS
- variable length numeric string
T - TimeNum
- VectorT
- 96 bit time Instant = (Long, Int)
- Alphabetic
- By Inheritance
- Table
- Tabular
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def add(tuple: Row): Unit
Add 'tuple to 'this' table as a new row.
Add 'tuple to 'this' table as a new row.
- tuple
an aggregation of columns values (new row)
- abstract def colNames: ArrayBuffer[String]
Return the names of columns in the table.
- abstract def cols: Int
Return the size in terms of number of columns in the table.
- abstract def colsMap: Map[String, Int]
Return the mapping from column names to column positions.
- abstract def column(cName: String): Vec
Return the column in the table with column name 'cName'.
Return the column in the table with column name 'cName'.
- cName
column name used to retrieve the column vector
- abstract def columns: Vector[Vec]
Return all of the columns in the table.
- abstract def compress(cName: String*): Unit
Compress the selected columns 'cName' in 'this' table.
Compress the selected columns 'cName' in 'this' table.
- cName
the names of the columns to be compressed
- abstract def contains(tuple: Row): Boolean
Determine whether 'this' table contains a row matching the given 'tuple'.
Determine whether 'this' table contains a row matching the given 'tuple'.
- tuple
an aggregation of columns values (potential row)
- abstract def delete[T](p: Predicate[T]*): Table
Delete the rows from 'this' table that satisfy the predicates.
Delete the rows from 'this' table that satisfy the predicates.
- T
the predicate type
- p
tuple(1): column name, tuple(2): predicate (T =>
Boolean
)
- abstract def domains: String
Return the domains for the columns in the table.
- abstract def eproject(aggCol: AggColumn*)(cName: String*): Table
Aggregate/project on the given columns (an extended projection operator that applies aggregate operators to aggregation columns and regular projection to projection columns).
Aggregate/project on the given columns (an extended projection operator that applies aggregate operators to aggregation columns and regular projection to projection columns).
- aggCol
the columns to aggregate on: (aggregate function, new column name, old column name)*
- cName
the other columns to project on
- See also
en.wikipedia.org/wiki/Relational_algebra
- abstract def groupBy(cName: String*): Table
Group 'this' table by specified column names, returning 'this' table.
Group 'this' table by specified column names, returning 'this' table.
- cName
group columns
- abstract def incompatible(r2: Table): Boolean
Determine whether 'this' table and 'r2' are incompatible by having differing numbers of columns or differing domain strings.
Determine whether 'this' table and 'r2' are incompatible by having differing numbers of columns or differing domain strings.
- r2
the other table
- abstract def intersect(r2: Table): Table
Intersect 'this' table and 'r2'.
Intersect 'this' table and 'r2'. Check that the two tables are compatible.
- r2
the other table
- abstract def join[T](r2: Table, p0: Predicate2[T], p: Predicate2[T]*): Table
The theta join, handle the predicates in where are connect by "and" (where a....and b....).
The theta join, handle the predicates in where are connect by "and" (where a....and b....).
- r2
the second table
- p0
the first theta join predicate (r1 cName, r2 cName, predicate to compare these two column)
- p
the rest of theta join predicates (r1 cName, r2 cName, predicates to compare these two column)
- abstract def join(cNames1: ArrayBuffer[String], cNames2: ArrayBuffer[String], r2: Table): Table
Join 'this' table and 'r2' by performing an "equi-join".
Join 'this' table and 'r2' by performing an "equi-join". Rows from both tables are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name.
- cNames1
the join column names of this table (e.g., the Foreign Key)
- cNames2
the join column names of table r2 (e.g., the Primary Key)
- r2
the rhs table in the join operation
- abstract def join(cNames: ArrayBuffer[String], r2: Table): Table
Join 'this' table and 'r2' by performing a "natural-join".
Join 'this' table and 'r2' by performing a "natural-join". Rows from both tables are compared requiring 'cName' values to be equal.
- cNames
the common join column names for both table
- r2
the rhs table in the join operation
- abstract def leftJoin(thres: Double = 0.01)(cName1: String, cName2: String, r2: Table): Table
Join 'this' table and 'r2' by performing an "apprimate left-join".
Join 'this' table and 'r2' by performing an "apprimate left-join". Rows from both tables are compared requiring 'cName1' values to apprximately equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name. All rows from the left table are maintained with missing values indicators used where needed.
- thres
the approximate equality threshold
- cName1
the join column names of this table (e.g., the Foreign Key)
- cName2
the join column names of table r2 (e.g., the Primary Key)
- r2
the rhs table in the join operation
- abstract def leftJoin(cName1: String, cName2: String, r2: Table): Table
Join 'this' table and 'r2' by performing an "left-join".
Join 'this' table and 'r2' by performing an "left-join". Rows from both tables are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name. All rows from the left table are maintained with missing values indicators used where needed.
- cName1
the join column names of this table (e.g., the Foreign Key)
- cName2
the join column names of table r2 (e.g., the Primary Key)
- r2
the rhs table in the join operation
- abstract def minus(r2: Table): Table
Take the difference of 'this' table and 'r2' ('this - r2').
Take the difference of 'this' table and 'r2' ('this - r2'). Check that the two tables are compatible.
- r2
the other table
- abstract def orderBy(cName: String*): Table
Order (ascending) the rows in the table by the selected columns 'cName'.
Order (ascending) the rows in the table by the selected columns 'cName'. A stable sorting is used to allow sorting on multiple columns.
- cName
the column names that are to be sorted
- abstract def pisigmaC(cName: String, p: (Complex) => Boolean): Table
Select elements from column 'cName' in 'this' table that satisfy the predicate 'p' and project onto that column.
Select elements from column 'cName' in 'this' table that satisfy the predicate 'p' and project onto that column.
- cName
the name of the column used for selection
- p
the predicate (
Boolean
function) to be satisfied
- abstract def pisigmaD(cName: String, p: (Double) => Boolean): Table
- abstract def pisigmaI(cName: String, p: (Int) => Boolean): Table
- abstract def pisigmaL(cName: String, p: (Long) => Boolean): Table
- abstract def pisigmaQ(cName: String, p: (Rational) => Boolean): Table
- abstract def pisigmaR(cName: String, p: (Real) => Boolean): Table
- abstract def pisigmaS(cName: String, p: (StrNum) => Boolean): Table
- abstract def product(r2: Table): Table
Compute the Cartesian product of 'this' table and 'r2' ('this × r2').
Compute the Cartesian product of 'this' table and 'r2' ('this × r2').
- r2
the second table
- abstract def project(cPos: IndexedSeq[Int], cName: ArrayBuffer[String] = null): Table
Project onto the columns with the given column positions.
Project onto the columns with the given column positions.
- cPos
the column positions to project onto
- cName
the optional new names for the columns to project onto
- abstract def project(cName: String*): Table
Project onto the columns with the given column names.
Project onto the columns with the given column names.
- cName
the names of the columns to project onto
- abstract def rename(newName: String): Table
Rename 'this' table, returning a shallow copy of the table.
Rename 'this' table, returning a shallow copy of the table.
- newName
the new name for the table.
- abstract def reverseOrderBy(cName: String*): Table
Order (descending) the rows in the table by the selected columns 'cName'.
Order (descending) the rows in the table by the selected columns 'cName'. A stable sorting is used to allow sorting on multiple columns.
- cName
the column names that are to be sorted
- abstract def row(i: Int): Row
Create a row by pulling values from all columns at position 'i'.
Create a row by pulling values from all columns at position 'i'.
- i
the 'i'th position
- abstract def rows: Int
Return the size in terms of number of rows in the table.
- abstract def save(): Unit
Save 'this' table in a file using serialization.
- abstract def select[T](cName: String, p: (T) => Boolean)(implicit arg0: ClassTag[T]): Table
Select elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.
Select elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.
- cName
the name of the column used for selection
- p
the predicate (
Boolean
function) to be satisfied
- abstract def selectAt(pos: IndexedSeq[Int]): Table
Select across all columns at the specified column positions.
Select across all columns at the specified column positions.
- pos
the specified column positions
- abstract def selectC(cName: String, p: (Complex) => Boolean): IndexedSeq[Int]
Select the positions of elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.
Select the positions of elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.
- cName
the name of the column used for selection
- p
the predicate (
Boolean
function) to be satisfied
- abstract def selectD(cName: String, p: (Double) => Boolean): IndexedSeq[Int]
- abstract def selectI(cName: String, p: (Int) => Boolean): IndexedSeq[Int]
- abstract def selectL(cName: String, p: (Long) => Boolean): IndexedSeq[Int]
- abstract def selectQ(cName: String, p: (Rational) => Boolean): IndexedSeq[Int]
- abstract def selectR(cName: String, p: (Real) => Boolean): IndexedSeq[Int]
- abstract def selectS(cName: String, p: (StrNum) => Boolean): IndexedSeq[Int]
- abstract def show(limit: Int = Int.MaxValue): Unit
Show 'this' relation row by row.
Show 'this' relation row by row.
- limit
the limit on the number of tuples to display
- Definition Classes
- Tabular
- abstract def sigmaC(cName: String, p: (Complex) => Boolean): Table
Select elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.
Select elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.
- cName
the name of the column used for selection
- p
the predicate (
Boolean
function) to be satisfied
- abstract def sigmaD(cName: String, p: (Double) => Boolean): Table
- abstract def sigmaI(cName: String, p: (Int) => Boolean): Table
- abstract def sigmaL(cName: String, p: (Long) => Boolean): Table
- abstract def sigmaQ(cName: String, p: (Rational) => Boolean): Table
- abstract def sigmaR(cName: String, p: (Real) => Boolean): Table
- abstract def sigmaS(cName: String, p: (StrNum) => Boolean): Table
- abstract def toMatriD(colPos: ArrayBuffer[Int], kind: MatrixKind = DENSE): MatriD
Convert 'this' table into a matrix of doubles, e.g.,
Convert 'this' table into a matrix of doubles, e.g.,
in the regression equation: 'xb = y' create matrix 'xy'
- colPos
the column positions to use for the matrix
- kind
the kind of matrix to create
- abstract def toMatriDD(colPos: ArrayBuffer[Int], colPosV: Int, kind: MatrixKind = DENSE): (MatriD, VectorD)
Convert 'this' table into a matrix of doubles and a vector of doubles.
Convert 'this' table into a matrix of doubles and a vector of doubles.
in the regression equation: 'xb = y' create matrix 'x' and vector 'y'
- colPos
the column positions to use for the matrix
- colPosV
the column position to use for the vector
- kind
the kind of matrix to create
- abstract def toMatriDI(colPos: ArrayBuffer[Int], colPosV: Int, kind: MatrixKind = DENSE): (MatriD, VectorI)
Convert 'this' table into a matrix of doubles and a vector of integers.
Convert 'this' table into a matrix of doubles and a vector of integers.
in the regression equation: 'xb = y' create matrix 'x' and vector 'y'
- colPos
the column positions to use for the matrix
- colPosV
the column position to use for the vector
- kind
the kind of matrix to create
- abstract def toMatriI(colPos: ArrayBuffer[Int], kind: MatrixKind = DENSE): MatriI
Convert 'this' table into a matrix of integers.
Convert 'this' table into a matrix of integers.
in the regression equation: 'xb = y' create matrix 'xy'
- colPos
the column positions to use for the matrix
- kind
the kind of matrix to create
- abstract def toMatriII(colPos: ArrayBuffer[Int], colPosV: Int, kind: MatrixKind = DENSE): (MatriI, VectorI)
Convert 'this' table into a matrix of integers and a vector of integers.
Convert 'this' table into a matrix of integers and a vector of integers.
in the regression equation: 'xb = y' create matrix 'x' and vector 'y'
- colPos
the column positions to use for the matrix
- colPosV
the column position to use for the vector
- kind
the kind of matrix to create
- abstract def toVectorC(colName: String): VectorC
Convert the 'colName' column of 'this' relation into a vector of complex numbers.
Convert the 'colName' column of 'this' relation into a vector of complex numbers.
- colName
the column name to use for the vector
- abstract def toVectorC(colPos: Int = 0): VectorC
Convert the 'colPos' column of 'this' relation into a vector of complex numbers.
Convert the 'colPos' column of 'this' relation into a vector of complex numbers.
- colPos
the column position to use for the vector
- abstract def toVectorD(colName: String): VectorD
Convert the 'colName' column of 'this' relation into a vector of doubles.
Convert the 'colName' column of 'this' relation into a vector of doubles.
- colName
the column name to use for the vector
- abstract def toVectorD(colPos: Int = 0): VectorD
Convert the 'colPos' column of 'this' relation into a vector of doubles.
Convert the 'colPos' column of 'this' relation into a vector of doubles.
- colPos
the column position to use for the vector
- abstract def toVectorI(colName: String): VectorI
Convert the 'colName' column of 'this' relation into a vector of integers.
Convert the 'colName' column of 'this' relation into a vector of integers.
- colName
the column name to use for the vector
- abstract def toVectorI(colPos: Int = 0): VectorI
Convert the 'colPos' column of 'this' relation into a vector of integers.
Convert the 'colPos' column of 'this' relation into a vector of integers.
- colPos
the column position to use for the vector
- abstract def toVectorL(colName: String): VectorL
Convert the 'colName' column of 'this' relation into a vector of long integers.
Convert the 'colName' column of 'this' relation into a vector of long integers.
- colName
the column name to use for the vector
- abstract def toVectorL(colPos: Int = 0): VectorL
Convert the 'colPos' column of 'this' relation into a vector of long integers.
Convert the 'colPos' column of 'this' relation into a vector of long integers.
- colPos
the column position to use for the vector
- abstract def toVectorQ(colName: String): VectorQ
Convert the 'colName' column of 'this' relation into a vector of rational numbers.
Convert the 'colName' column of 'this' relation into a vector of rational numbers.
- colName
the column name to use for the vector
- abstract def toVectorQ(colPos: Int = 0): VectorQ
Convert the 'colPos' column of 'this' relation into a vector of rational numbers.
Convert the 'colPos' column of 'this' relation into a vector of rational numbers.
- colPos
the column position to use for the vector
- abstract def toVectorR(colName: String): VectorR
Convert the 'colName' column of 'this' relation into a vector of real numbers.
Convert the 'colName' column of 'this' relation into a vector of real numbers.
- colName
the column name to use for the vector
- abstract def toVectorR(colPos: Int = 0): VectorR
Convert the 'colPos' column of 'this' relation into a vector of real numbers.
Convert the 'colPos' column of 'this' relation into a vector of real numbers.
- colPos
the column position to use for the vector
- abstract def toVectorS(colName: String): VectorS
Convert the 'colName' column of 'this' relation into a vector of string-num.
Convert the 'colName' column of 'this' relation into a vector of string-num.
- colName
the column name to use for the vector
- abstract def toVectorS(colPos: Int = 0): VectorS
Convert the 'colPos' column of 'this' relation into a vector of string-num.
Convert the 'colPos' column of 'this' relation into a vector of string-num.
- colPos
the column position to use for the vector
- abstract def toVectorT(colName: String): VectorT
Convert the 'colName' column of 'this' relation into a vector of time-num.
Convert the 'colName' column of 'this' relation into a vector of time-num.
- colName
the column name to use for the vector
- abstract def toVectorT(colPos: Int = 0): VectorT
Convert the 'colPos' column of 'this' relation into a vector of time-num.
Convert the 'colPos' column of 'this' relation into a vector of time-num.
- colPos
the column position to use for the vector
- abstract def uncompress(cName: String*): Unit
Uncompress the selected columns 'cName' in 'this' table.
Uncompress the selected columns 'cName' in 'this' table.
- cName
the names of the columns to be uncompressed
- abstract def union(r2: Table): Table
Union 'this' table and 'r2'.
Union 'this' table and 'r2'. Check that the two tables are compatible.
- r2
the other table
- abstract def update[T](cName: String, func: (T) => T, pred: (T) => Boolean): Unit
Update the column named 'cName' using function 'func' for elements where the predicate 'pred' evaluates to true.
Update the column named 'cName' using function 'func' for elements where the predicate 'pred' evaluates to true.
- T
type of the column
- cName
the name of the column to be updated
- func
the function used to assign updated values // FIX - generalize type
- pred
the predicated used to select elements for update
- abstract def update[T](cName: String, func: (T) => T, matchVal: T): Unit
Update the column named 'cName' using function 'func' for elements with value 'matchStr'.
Update the column named 'cName' using function 'func' for elements with value 'matchStr'.
- T
type of the column
- cName
the name of the column to be updated
- func
the function used to assign updated values
- matchVal
the value to be matched to elements
- abstract def update[T](cName: String, newVal: T, matchVal: T): Unit
Update the column named 'cName' using function 'func' for elements with value 'matchStr'.
Update the column named 'cName' using function 'func' for elements with value 'matchStr'.
- T
type of the column
- cName
the name of the column to be updated
- newVal
the value used to assign updated values
- matchVal
the value to be matched to elements
- abstract def writeCSV(fileName: String): Unit
Write 'this' table into a CSV file with each row written to a line.
Write 'this' table into a CSV file with each row written to a line.
- fileName
the file name of the data file
- abstract def writeJSON(fileName: String): Unit
Write 'this' table into a JSON file.
Write 'this' table into a JSON file.
- fileName
the file name of the data file
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- def -(r2: Table): Table
Take the difference of 'this' table and 'r2' ('this - r2').
Take the difference of 'this' table and 'r2' ('this - r2'). Check that the two tables are compatible.
- r2
the other table
- 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() @HotSpotIntrinsicCandidate()
- def disambiguate(cn1: ArrayBuffer[String], cn2: ArrayBuffer[String]): ArrayBuffer[String]
Combine two sequences of column names and disambiguate any repeated names by appending "2".
Combine two sequences of column names and disambiguate any repeated names by appending "2".
- cn1
the first sequence of column names
- cn2
the second sequence of column names
- Attributes
- protected
- def epi(aggCol: AggColumn*)(cName: String*): Table
Aggregate/project on the given columns (an extended projection operator that applies aggregate operators to aggregation columns and regular projection to projection columns).
Aggregate/project on the given columns (an extended projection operator that applies aggregate operators to aggregation columns and regular projection to projection columns).
- aggCol
the columns to aggregate on: (aggregate function, new column name, old column name)*
- cName
the other columns to project on
- See also
en.wikipedia.org/wiki/Relational_algebra
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def indices: Range
Return the range of index values for the table.
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def join(cName1: String, cName2: String, r2: Table): Table
Join 'this' table and 'r2' by performing an "equi-join".
Join 'this' table and 'r2' by performing an "equi-join". Rows from both tables are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name.
- cName1
the join column name of this table (e.g., the Foreign Key)
- cName2
the join column name of table r2 (e.g., the Primary Key)
- r2
the rhs table in the join operation
- def join(cName: String, r2: Table): Table
Join 'this' table and 'r2' by performing a "natural-join".
Join 'this' table and 'r2' by performing a "natural-join". Rows from both tables are compared requiring 'cName' values to be equal.
- cName
the common join column name for both table
- r2
the rhs table in the join operation
- def join(r2: Table): Table
Join 'this' table and 'r2' by performing a "natural-join".
Join 'this' table and 'r2' by performing a "natural-join". Rows from both tables are compared requiring agreement on common attributes (column names).
- r2
the rhs table in the join operation
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def pi(cPos: IndexedSeq[Int], cName: ArrayBuffer[String] = null): Table
Project onto the columns with the given column positions.
Project onto the columns with the given column positions.
- cPos
the column positions to project onto
- cName
the optional new names for the columns to project onto
- def pi(cName: String*): Table
Project onto the columns with the given column names.
Project onto the columns with the given column names.
- cName
the names of the columns to project onto
- def rightJoin(cName1: String, cName2: String, r2: Table): Table
Join 'this' table and 'r2' by performing an "right-join".
Join 'this' table and 'r2' by performing an "right-join". Rows from both tables are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name. All rows from the right table are maintained with missing values indicators used where needed.
- cName1
the join column names of this table (e.g., the Foreign Key)
- cName2
the join column names of table r2 (e.g., the Primary Key)
- r2
the rhs table in the join operation
- def row(sos: ArrayBuffer[String], _typ: String): Row
Create a row by pulling values from an array of strings and converting elements to their appropriate types.
Create a row by pulling values from an array of strings and converting elements to their appropriate types.
- sos
the sequence of strings holding the values
- _typ
the string of corresponding types, e.g., 'SDI'
- Annotations
- @throws(classOf [Exception])
- def sigma[T](cName: String, p: (T) => Boolean)(implicit arg0: ClassTag[T]): Table
Select elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.
Select elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.
- cName
the name of the column used for selection
- p
the predicate (
Boolean
function) to be satisfied
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- def uniq_union(cn1: ArrayBuffer[String], cn2: ArrayBuffer[String]): ArrayBuffer[String]
Combine two sequences of column names, keeping all names from 'cn1' and only those in 'cn2' that are not repeats (i.e., not already in 'cn1').
Combine two sequences of column names, keeping all names from 'cn1' and only those in 'cn2' that are not repeats (i.e., not already in 'cn1').
- cn1
the first sequence of column names
- cn2
the second sequence of column names
- Attributes
- protected
- 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()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def ×(r2: Table): Table
Compute the Cartesian product of 'this' table and 'r2' ('this × r2').
Compute the Cartesian product of 'this' table and 'r2' ('this × r2').
- r2
the second table
- def Π(aggCol: AggColumn*)(cName: String*): Table
Aggregate/project on the given columns (an extended projection operator that applies aggregate operators to aggregation columns and regular projection to projection columns).
Aggregate/project on the given columns (an extended projection operator that applies aggregate operators to aggregation columns and regular projection to projection columns).
- aggCol
the columns to aggregate on: (aggregate function, new column name, old column name)*
- cName
the other columns to project on
- See also
en.wikipedia.org/wiki/Relational_algebra
- def γ(cName: String*): Table
Group 'this' table by specified column names, returning 'this' table.
Group 'this' table by specified column names, returning 'this' table.
- cName
group columns
- def ζ(cName: String*): Unit
Compress the selected columns 'cName' in 'this' table.
Compress the selected columns 'cName' in 'this' table.
- cName
the names of the columns to be compressed
- def ζζ(cName: String*): Unit
Uncompress the selected columns 'cName' in 'this' table.
Uncompress the selected columns 'cName' in 'this' table.
- cName
the names of the columns to be uncompressed
- def π(cPos: IndexedSeq[Int], cName: ArrayBuffer[String] = null): Table
Project onto the columns with the given column positions.
Project onto the columns with the given column positions.
- cPos
the column positions to project onto
- cName
the optional new names for the columns to project onto
- def π(cName: String*): Table
Project onto the columns with the given column names.
Project onto the columns with the given column names.
- cName
the names of the columns to project onto
- def σ[T](cName: String, p: (T) => Boolean)(implicit arg0: ClassTag[T]): Table
Select elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.
Select elements from columns in 'cName' in 'this' table that satisfy the predicate 'p'.
- cName
the name of the column used for selection
- p
the predicate (
Boolean
function) to be satisfied
- def ω(cName: String*): Table
Order (ascending) the rows in the table by the selected columns 'cName'.
Order (ascending) the rows in the table by the selected columns 'cName'. A stable sorting is used to allow sorting on multiple columns.
- cName
the column names that are to be sorted
- def ωω(cName: String*): Table
Order (descending) the rows in the table by the selected columns 'cName'.
Order (descending) the rows in the table by the selected columns 'cName'. A stable sorting is used to allow sorting on multiple columns.
- cName
the column names that are to be sorted
- def ⋂(r2: Table): Table
Intersect 'this' table and 'r2'.
Intersect 'this' table and 'r2'. Check that the two tables are compatible.
- r2
the other table
- def ⋃(r2: Table): Table
Union 'this' table and 'r2'.
Union 'this' table and 'r2'. Check that the two tables are compatible.
- r2
the other table
- def ⋈[T](r2: Table, p0: Predicate2[T], p: Predicate2[T]*): Table
The theta join, handle the predicates in where are connect by "and" (where a....and b....).
The theta join, handle the predicates in where are connect by "and" (where a....and b....).
- r2
the second table
- p0
the first theta join predicate (r1 cName, r2 cName, predicate to compare these two column)
- p
the rest of theta join predicates (r1 cName, r2 cName, predicates to compare these two column)
- def ⋈(cNames1: ArrayBuffer[String], cNames2: ArrayBuffer[String], r2: Table): Table
Join 'this' table and 'r2' by performing an "equi-join".
Join 'this' table and 'r2' by performing an "equi-join". Rows from both tables are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name.
- cNames1
the join column names of this table (e.g., the Foreign Key)
- cNames2
the join column names of table r2 (e.g., the Primary Key)
- r2
the rhs table in the join operation
- def ⋈(cName1: String, cName2: String, r2: Table): Table
Join 'this' table and 'r2' by performing an "equi-join".
Join 'this' table and 'r2' by performing an "equi-join". Rows from both tables are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name.
- cName1
the join column name of this table (e.g., the Foreign Key)
- cName2
the join column name of table r2 (e.g., the Primary Key)
- r2
the rhs table in the join operation
- def ⋈(cNames: ArrayBuffer[String], r2: Table): Table
Join 'this' table and 'r2' by performing a "natural-join".
Join 'this' table and 'r2' by performing a "natural-join". Rows from both tables are compared requiring 'cName' values to be equal.
- cNames
the common join column names for both table
- r2
the rhs table in the join operation
- def ⋈(cName: String, r2: Table): Table
Join 'this' table and 'r2' by performing a "natural-join".
Join 'this' table and 'r2' by performing a "natural-join". Rows from both tables are compared requiring 'cName' values to be equal.
- cName
the common join column name for both table
- r2
the rhs table in the join operation
- def ⋈(r2: Table): Table
Join 'this' table and 'r2' by performing a "natural-join".
Join 'this' table and 'r2' by performing a "natural-join". Rows from both tables are compared requiring agreement on common attributes (column names).
- r2
the rhs table in the join operation
- def ⋉(thres: Double = 0.01)(cName1: String, cName2: String, r2: Table): Table
Join 'this' table and 'r2' by performing an "apprimate left-join".
Join 'this' table and 'r2' by performing an "apprimate left-join". Rows from both tables are compared requiring 'cName1' values to apprximately equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name. All rows from the left table are maintained with missing values indicators used where needed.
- cName1
the join column names of this table (e.g., the Foreign Key)
- cName2
the join column names of table r2 (e.g., the Primary Key)
- r2
the rhs table in the join operation
- def ⋉(cName1: String, cName2: String, r2: Table): Table
Join 'this' table and 'r2' by performing an "left-join".
Join 'this' table and 'r2' by performing an "left-join". Rows from both tables are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name. All rows from the left table are maintained with missing values indicators used where needed. Note: although this is the semi-join symbol, due to Unicode limitations, it is used for left-join.
- cName1
the join column names of this table (e.g., the Foreign Key)
- cName2
the join column names of table r2 (e.g., the Primary Key)
- r2
the rhs table in the join operation
- def ⋊(cName1: String, cName2: String, r2: Table): Table
Join 'this' table and 'r2' by performing an "right-join".
Join 'this' table and 'r2' by performing an "right-join". Rows from both tables are compared requiring 'cName1' values to equal 'cName2' values. Disambiguate column names by appending "2" to the end of any duplicate column name. All rows from the right table are maintained with missing values indicators used where needed.
- cName1
the join column names of this table (e.g., the Foreign Key)
- cName2
the join column names of table r2 (e.g., the Primary Key)
- r2
the rhs table in the join operation
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated