Ich möchte überprüfen, ob mein erstellter Datenrahmen nicht leer ist und mindestens 1 Datensatz enthält. Gibt es einen besseren Ansatz anders als Zählung Methode verwenden und prüfen, ob der Zählwert größer als 0Überprüfen Sie, ob die Anzahl der Datensätze im Dataframe größer als Null ist, ohne den Zähler function zu verwenden.
Antwort
Verwenden rdd.isEmpty
:
scala> Seq[(Long, String)]((1L, "a")).toDF.rdd.isEmpty
res0: Boolean = false
scala> Seq[(Long, String)]().toDF.rdd.isEmpty
res1: Boolean true =
Es könnte aber auch tun dies:
df.take(1).length == 0
rdd.isEmpty
implementiert die obige Funktionalität intern.
Es kann noch schneller sein. Wenn wir '.rdd' aufrufen, kann Spark die Abfrage für einige Datenquellen, d. H. JDBC, nicht optimieren. Ihre Version verwendet alle möglichen Optimierungen –
@ T.Gawęda Sind RDDs nicht die zugrunde liegenden Quellen von allem in Spark? Ich frage mich nur, ob 'df.rdd' viel Zeit braucht, wenn der Datenrahmen, sagen wir, eine Million Zeilen hat? – philantrovert
Es wird von Datasets verwendet, aber wenn Sie eine Aktion für Dataset aufrufen, wenn Spark versucht, die Abfrage zu optimieren. Auch Aufruf von 'rdd' deserialisiert Zeilen vom internen Formular zum normalen - siehe http://stackoverflow.com/questions/43843470/how-to-know-which-count-query-is-the-fastest –
Verwenden isEmpty von RDD
def isEmpty(): Boolean = withScope {
partitions.length == 0 || take(1).length == 0
}
- 1. PHP überprüfen, ob der Zeitstempel größer als 24 Stunden ist
- 2. Ist 000,000,000.00 größer als Null?
- 3. überprüfen, ob JSON geparste Element Zeichenfolge ist größer als Nummer
- 4. Persistence CriteriaBuilder - überprüfen, ob größer als 0
- 5. „Liste“ der Zähler größer ist als die Anzahl von Elementen innerhalb des
- 6. Überprüfen, ob ein Datum größer als das angegebene Datum ist
- 7. überprüfen, ob die Anzahl der Zeilen größer als 0 dann Daten aus PHP mysql
- 8. Überprüfen Sie, ob die Eigenschaft in Lambda-Ausdruck null ist
- 9. Überprüfen Sie, ob die Dataframe-Spalte kategorisch ist
- 10. überprüfen, ob Zeichenfolge enthält Zahl größer als
- 11. Überprüfen Sie, ob die data.frame-Spalte der Typliste NULL ist
- 12. Falsche Anzahl der Zähler
- 13. Überprüfen Sie, ob Startdatum ist weniger als Enddatum (ohne jede pluguin zu verwenden)
- 14. Überprüfen Sie, ob ein Repeater null ist
- 15. Wie überprüfen Sie Textbox-Steuerwert größer als Null?
- 16. Überprüfen Sie, ob ein Service auf einer bestimmten Maschine vorhanden ist, ohne die Ausnahmebehandlung zu verwenden.
- 17. Überprüfen, ob ein NSDate größer ist als ein anderer
- 18. Dezimalwert Überprüfen Sie, ob Null
- 19. vb.net überprüfen, ob der Datenbankwert null ist
- 20. So überprüfen Sie die Anzahl der Datensätze mit Capybara
- 21. Überprüfen Sie, ob die Hex-Zeichenfolge im Konverter korrekt ist.
- 22. Anzahl xlabel größer ist als die Länge der Daten
- 23. Überprüfen Sie, ob JSON Antwortfeld ist null
- 24. Überprüfen, ob TabControl1 null ist?
- 25. Überprüfen Sie elegant, ob der Bereich zwischen zwei Variablen größer/kleiner als 'x' ist.
- 26. Überprüfen Sie, ob der Spaltenwert Null ist MS SQL Server
- 27. Warum ist die Anzahl der "abgerechneten" Instanzen so viel größer als die Anzahl der "aktiven" Instanzen?
- 28. Überprüfen, ob JValue null ist
- 29. Überprüfen Sie, ob die Klasse in Java-Klassenpfad existiert, ohne den statischen Initialisierer zu verwenden.
- 30. Überprüfen, ob die Datenbank im Wiederherstellungszustand ist
Wird das schneller als zählen? –