Verwenden Sie die folgende Syntax, um eine externe Apache Cassandra-Tabelle in Hive zu erstellen,
wenn die Tabelle mit der traditionellen Befehlszeilenschnittstelle erstellt wurde.
CREATE EXTERNAL TABLE <Hive-Tabellenname> (<Spaltenspezifikationen>)
STORED BY 'org.apache.hadoop.hive.cassandra.CassandraStorageHandler'
WITH SERDEPROPERTIES("cassandra.cf.name" = "<Cassandra-Spaltenfamilie>",
"cassandra.host"="<Cassandra-Host>","cassandra.port" = "<Cassandra-Port>")
TBLPROPERTIES ("cassandra.ks.name" = "<Cassandra-Schlüsselbereich>");
Für die folgende CLI-Tabellendefinition beispielsweise
create keyspace test
with placement_strategy = 'org.apache.cassandra.locator.SimpleStrategy'
and strategy_options = [{replication_factor:1}];
create column family users with comparator = UTF8Type;
update column family users with
column_metadata =
[
{column_name: first, validation_class: UTF8Type},
{column_name: last, validation_class: UTF8Type},
{column_name: age, validation_class: UTF8Type, index_type: KEYS}
];
assume users keys as utf8;
set users['jsmith']['first'] = 'John';
set users['jsmith']['last'] = 'Smith';
set users['jsmith']['age'] = '38';
set users['jdoe']['first'] = 'John';
set users['jdoe']['last'] = 'Dow';
set users['jdoe']['age'] = '42';
get users['jdoe'];
sieht die Hive-Tabellen-DDL wie folgt aus:
CREATE EXTERNAL TABLE cassandra_users (key string, first string, last string, age string)
STORED BY 'org.apache.hadoop.hive.cassandra.CassandraStorageHandler'
WITH SERDEPROPERTIES("cassandra.cf.name" = "users",
"cassandra.host"="<Cassandra-Host>","cassandra.port" = "9160")
TBLPROPERTIES ("cassandra.ks.name" = "test");
Verwenden Sie die folgende Syntax, um eine externe Apache Cassandra-Tabelle in Hive zu erstellen,
wenn die Tabelle mit CQL erstellt wurde.
CREATE EXTERNAL TABLE <Hive-Tabellenname> (<Spaltenspezifikationen>)
STORED BY 'org.apache.hadoop.hive.cassandra.cql.CassandraCqlStorageHandler'
WITH SERDEPROPERTIES("cassandra.cf.name" = "<Cassandra-Spaltenfamilie>",
"cassandra.host"="<Cassandra-Host>","cassandra.port" = "<Cassandra-Port>")
TBLPROPERTIES ("cassandra.ks.name" = "<Cassandra-Schlüsselbereich>");
Für die folgende CQL3-Tabellendefinition beispielsweise
CREATE KEYSPACE TEST WITH REPLICATION = { 'class' : 'SimpleStrategy', 'replication_factor' : 2 };
USE TEST;
CREATE TABLE bankloan_10(
row int,
age int,
ed int,
employ int,
address int,
income int,
debtinc double,
creddebt double,
othdebt double,
Kapitel 1. Analytic Server-Konsole
15