2017-02-07 1 views
0

Ich bin ein Neuling in Drill und Hbase.
Ich habe Hbase 1.2.1 und Drill 1.9.0 beide auf einer eingebetteten (Single Host) Konfiguration installiert. Ich habe das HBase-Plugin mit Standardparametern aktiviert.Apache Drill leeres Ergebnis bei Verwendung der WHERE-Klausel Abfrage von HBase

Ich habe eine Tabelle, die ich für die Verbindung zu verwalten und abzurufen:

SELECT CONVERT_FROM(row_key, 'UTF8') as key, 
     CAST(fogDecDB.Location.latitude AS FLOAT) as lat 
FROM fogDecDB LIMIT 10; 

die

+-------------------------------------------------------------------+------------+ 
|        key        | lat  | 
+-------------------------------------------------------------------+------------+ 
| 00001e14dbf570471418f1c26384637a3154561bfc32062bbb416bedc165841d | 51.971  | 
| 0000c0ad64df90c8feebd4e191272413d01989c997d0e2aec34cf259f3207ddb | 52.276943 | 
| 00023c7cf936bd1933f8b0f690ae3f347d3fd3131278b4e0372d34dde9586b62 | 52.276943 | 
| 0003164d842b488a1a0d8572ae06b983ceb3a645f41531acfe4962ad7ede80a2 | 52.276943 | 
| 0003bd065e59d03f3907531279579025f49282a3aa1734d1c4d63df891420c58 | 52.1093 | 
| 0006963d79ccf3a71f086f77b26a4db7da09a77c8b2c523fc51e04df4087abbd | 52.1093 | 
| 00069cd1f16dde18f4b6944c81015e4f7113ae447c02743a903814c0e64bb2e8 | 52.1093 | 
| 00070d2b641fc506be01c4b0b15f102d01b43d34f0b98f054154d20ea1ad7aa1 | 52.1093 | 
| 0007fd3e7db369f258173e7d47c13f81e3cbb48ecf446dd6ad4fe49bda2abcf0 | 52.276943 | 
| 0009c8836878a0065a617ba066c5c6ba51a9e29d22c81a8df28be40352efd4bf | 52.1093 | 
+-------------------------------------------------------------------+------------+ 
10 rows selected (0.18 seconds) 

gibt Das Problem ist, wenn ich eine WHERE Anweisung hinzufügen zum Beispiel eine Art Auswahl auszuführen nur die Zeilen mit lat> 52,0

ich den folgenden Befehl

enter SELECT CONVERT_FROM(row_key, 'UTF8') as key, 
      CAST(fogDecDB.Location.latitude AS FLOAT) as lat 
     FROM fogDecDB 
     WHERE fogDecDB.Location.latitude>52 
     LIMIT 10; 

es eine leere Tabelle gibt - Sehr seltsam.

Ich habe versucht, CAST auch in der WHERE Aussage die fogDecDB.Location.latitude aber das gleiche Ergebnis.

Kann jemand bitte etwas Licht auf das Problem werfen. Ich habe natürlich viel gegoogelt ohne Glück.

Vielen Dank im Voraus.

Cheers,

Andrea

+0

Ich würde empfehlen, etwas Zeit für die Formatierung Ihres Codes, so dass es lesbar ist. In seinem gegenwärtigen Zustand bin ich unsicher, was Sie zur Verfügung stellen – Takarii

+0

Danke für den Kommentar, verbessert die Sichtbarkeit des Codes! –

Antwort

0

Ich habe das Problem und das Verhalten und den Grund für den Fehler identifiziert:

Mein HBase Schema für diese Spalte I auszuwählen versuchen eigentlich:

fogDecDB.Location.Latitute mit einem großen "L"

jedoch es wird im SELECT-Teil der Anweisung irgendwie identifiziert und richtig geparst, auch wenn es nicht korrekt ist (lexikographisch/string-passendes Sprechen) und im WHERE-Teil wird es irgendwie nicht mehr erkannt.

Das Problem wurde der Drill-Mailingliste gemeldet.