2012-02-08 12 views
7

Ho importato circa 10 tabelle in Hive da MS SQL Server. Ma quando provo a controllare i record in Hive in una tabella, ho trovato più record quando eseguo la query (selezionare count (*) da tblName;).Visualizzazione del conteggio errato dopo l'importazione della tabella in Hive

Quindi ho lasciato il tavolo e l'ho importato di nuovo in Hive. Ho osservato nei registri della console che (Recupera 203 record). E poi ho provato di nuovo per (selezionare conteggio (*) da tblName;) e ho ottenuto il conteggio come 298.

Non capisco perché questo accade. C'è qualcosa di sbagliato nella query o succede a causa di un comando errato di sqoop-import.

Tutti gli altri record di tabella vanno bene.

Pls mi aiutano fuori da questo.

risposta

7

Ho trovato la soluzione per questo problema dalla mailing list e mi piacerebbe condividerlo. La loro risposta è arrivata come:

stavamo vivendo un problema simile in passato - la tabella in hive sembra avere più righe di quelle che sono state segnalate per essere importate da sqoop e che erano effettivamente disponibili nel database.

Il problema descritto da parte nostra era rappresentato da caratteri errati nei dati esportati che hanno interrotto le righe nel file CSV di prova esportato. Ad esempio alcune delle nostre righe contenevano dati con caratteri di nuova riga. Poiché un paio di righe esportate sono state divise in più righe, il numero di righe dell'alveare sembrava essere più del numero di importazione. Potresti avere problemi simili. Abbiamo risolto il problema utilizzando il parametro --hive-drop-import-delims (oppure è possibile utilizzare --hive-delims-replacement). Per la semantica e il loro utilizzo, si prega di prendere in considerazione sguardo al manuale:

http://incubator.apache.org/sqoop/docs/1.4.0-incubating/SqoopUserGuide.html#id1765770

Grazie

Problemi correlati