2016-10-17 4 views
0

Wir haben ein Lager mit Quellendatenbank in Cloudant erstellt, Wir hatten Schema Discovery-Prozess auf fast 40.000 Datensätze zunächst ausgeführt. Unsere Cloudant Datenbank bestehen aus rund 2 Millionen Datensätze. Jetzt das Problem, das wir konfrontiert sind, dass wir viele Datensätze in _OVERFLOW Tabelle in DashDB haben (bedeutet, dass sie abgelehnt haben) mit Fehler wie "[Spalte ist nicht in dem erkannten Schema vorhanden. Dokument wurde nicht importiert.]"Cloudant Dashdb Sync Problem

Scheint mir, dass Cloudant Datenbank, die eigentlich Ergebnis von dbcopy ist, Teil in den Dokumenten enthält und wie diese Partials intern von cloudant mit Wert erstellt werden, die wir erst beurteilen können, nachdem die Partials wie "40000000-5fffffff erstellt wird "in der dd wird nicht durch Schema-Discovery-Prozess entdeckt und jetzt werden alle Dokumente, die noch nicht entdeckte Partials haben von cloudant-dashdb sync abgelehnt.

Hat jemand eine Idee hat, wie es zu lösen ..

Antwort

0

Die beste Option für Sie, dies zu lösen ist mit einem einfachen Trick: Führen Sie das Schema Entdeckung Algorithmus genau ein Dokument mit der Struktur, die Sie in erstellen möchten Ihre das DashDB-Ziel

Wenn Sie ein solches "Vorlagen" -Dokument im Voraus erstellen können, lassen Sie den Algorithmus diesen ermitteln und in dashDB laden. Mit der fortlaufenden Replikation von Cloudant auf dashDB können Sie dbcopy Ihre aktuellen Dokumente in die Datenbank laden, die als Quelle für Ihre Cloudant-Dashdb-Synchronisierung dient.

0

Wir hatten Schema Discovery-Prozess auf fast 40.000 Datensätze zunächst ausgeführt. Unsere Datenbank von rund 2 Millionen Datensätze bestehen

Sie diese alle 2 Millionen das gleiche Schema teilen? Ich glaube nicht.

„[Spalte existiert nicht in dem entdeckten Schema. Dokument wird nicht importiert.]“

Es bedeutet, dass während Ihrer ersten 40'000 Datensätze Scan-Anwendung fand kein Dokument mit dieses Feld.

Sagen wir Folge von Dokumenten in Ihrem Cloudant db ist:

  • 500'000 Dokumente, die Schema A
  • 800'000 Dokumente übereinstimmen, die
  • 700'000 docs Schema B übereinstimmen, das Schema übereinstimmen C

Und Ihr Entdeckungsprozess überprüft gerade erst 40'000. Es kam nie zu Schema B und C.

Ich würde empfehlen, Discovery-Prozess erneut auszuführen und alle 2 Millionen Datensätze zu verarbeiten. Es wird Zeit brauchen, aber garantieren, dass alle Felder entdeckt werden.