Ich möchte das Apache Drill Mongo Speicher-Plugin erweitern, um INNER JOINs nach unten zu drücken. Daher möchte ich INNER JOIN
in die Mongo-Aggregationspipeline umschreiben.
Wie müssen wir anfangen, das Neuschreiben in Apache Drill zu implementieren.
Hier ist ein SQL-Beispiel:
%Vor% Ich habe die drücke von WHERE
Klauseln im Mongo Storage Plugin. Aber ich kämpfe immer noch, das gleiche für INNER JOINS
zu tun. Wie würde der Konstrukteur von public class MongoPushDownInnerJoinScan extends StoragePluginOptimizerRule
aussehen? Welches Äquivalent von MongoGroupScan
( AbstractGroupScan
) müsste ich implementieren? Jede Hilfe würde sehr geschätzt werden.
Dies ist eine schwierige Frage, die Sie bei StackOverflow beantworten sollten, da keine einzelne Person des Drill Dev-Teams die gesamte Antwort kennt. Bitte posten Sie diese Frage in der Drill Dev-Liste, damit das Team die Lösung mit Ihnen besprechen kann. Nachdem wir eine bessere Vorstellung von dem Problem und der Lösung bekommen haben, können wir die Ergebnisse unserer Diskussion hier veröffentlichen. Die Mailingliste von Drill ist hier Ссылка
Tags und Links java mongodb odbc jdbc apache-drill
Beim Versuch, die Base R "Bizarro-Pipe" zu verstehen, wie im Win Vector-Blog beschrieben, habe ich bestätigt, dass einfache Beispiele ein röhrenartiges Verhalten in R ohne installierte Pakete erzeugen. Zum Beispiel:
%Vor%Ich habe festgestellt, dass der Punkt als Operator in Plyr und Masrit verwendet wird. Ich verbrachte ein paar Stunden damit, in Base R nach jedem Synonym zu suchen, das ich mir für den Punktoperator vorstellen konnte, mit jedem Hilfsmittel, das ich kannte; Ich habe sogar ein paar lächerliche Regex-Suchen gemacht. Schließlich habe ich es aus Verzweiflung versucht:
%Vor% Bis jetzt habe ich nicht widerlegt, dass ein nackter Punkt, ohne auch nur einen Namen zu haben, ein gültiger variabler Name in R ist. Aber ich hoffe immer noch, dass dies nur ein Nebeneffekt von etwas Vernünftigerem ist Verhalten, irgendwo dokumentiert.Ist es das? Und wenn ja, wo?
Ich erkenne an, dass die Autoren es bei ihrem ersten Erscheinen im Win Vector-Blog als einen Witz identifiziert haben.
%code% kann als gültiger Objektname (syntaktisch gültiger Name) verwendet und hier dokumentiert werden:
Ein syntaktisch gültiger Name besteht aus Buchstaben, Zahlen und dem Punkt oder Zeichen unterstreichen und beginnt mit einem Buchstaben oder dem Punkt nicht gefolgt durch eine Nummer. "(aus dem Handbuch von %code% ).
Der einzelne Punkt erfüllt "den Punkt, auf den keine Zahl folgt."