per unire due tabelle Amazon DynamoDB
Il seguente esempio mappe due tabelle Hive ai dati memorizzati in Amazon DynamoDB. Quindi chiama un join su questi due tavoli. Il join viene calcolato sul cluster e restituito. Il join non ha luogo in Amazon DynamoDB. Questo esempio restituisce un elenco di clienti e i loro acquisti per i clienti che hanno effettuato più di due ordini.
CREATE EXTERNAL TABLE hive_purchases(customerId bigint, total_cost double, items_purchased array<String>)
STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler'
TBLPROPERTIES ("dynamodb.table.name" = "Purchases",
"dynamodb.column.mapping" = "customerId:CustomerId,total_cost:Cost,items_purchased:Items");
CREATE EXTERNAL TABLE hive_customers(customerId bigint, customerName string, customerAddress array<String>)
STORED BY 'org.apache.hadoop.hive.dynamodb.DynamoDBStorageHandler' TBLPROPERTIES ("dynamodb.table.name" = "Customers",
"dynamodb.column.mapping" = "customerId:CustomerId,customerName:Name,customerAddress:Address");
Select c.customerId, c.customerName, count(*) as count from hive_customers c
JOIN hive_purchases p ON c.customerId=p.customerId
GROUP BY c.customerId, c.customerName HAVING count > 2;
fonte
2012-04-25 20:09:18
È questo compito? Se è così, taggalo come tale (non cercare di essere cattivo, ma semplicemente controllando). – Kiril
Non è compito di casa; Ho cercato di trovare la domanda costruttiva più semplice a cui potessi pensare dopo aver trascorso un po 'di tempo a cercare di capire NoSQL e modelli non relazionali ... –