def key_by(self, primary_key=True, partition_key=False, *columns): # TODO implement keying by arbitrary columns if columns: raise NotImplementedError('keying by arbitrary columns is not (yet) supported') if partition_key: raise NotImplementedError('keying by partition key is not (yet) supported') new = copy(self) new._key_by = ColumnSelector(partition_key, primary_key, *columns) new.crdd = self.crdd return new
def __init__(self, ctx, keyspace, table, row_format=None, read_conf=None, **read_conf_kwargs): super(CassandraTableScanRDD, self).__init__(ctx, keyspace, table, row_format, read_conf, **read_conf_kwargs) self._key_by = ColumnSelector.none() read_conf = as_java_object(ctx._gateway, self.read_conf.settings()) self.crdd = self._helper \ .cassandraTable( ctx._jsc, keyspace, table, read_conf, )