Я хочу сравнить два файла, если не сопоставил дополнительную загрузку записей в другой файл с непревзойденными записями. Сравните все поля и в файле, и в количестве записей.Как сравнить два файла с использованием искры?
-1
A
ответ
3
Допустим, у вас есть два файла:
scala> val a = spark.read.option("header", "true").csv("a.csv").alias("a"); a.show
+---+-----+
|key|value|
+---+-----+
| a| b|
| b| c|
+---+-----+
a: org.apache.spark.sql.DataFrame = [key: string, value: string]
scala> val b = spark.read.option("header", "true").csv("b.csv").alias("b"); b.show
+---+-----+
|key|value|
+---+-----+
| b| c|
| c| d|
+---+-----+
b: org.apache.spark.sql.DataFrame = [key: string, value: string]
Неясно, какой вид несогласованных записей, которые вы ищете, но их легко найти по любому определению с join
:
scala> a.join(b, Seq("key")).show
+---+-----+-----+
|key|value|value|
+---+-----+-----+
| b| c| c|
+---+-----+-----+
scala> a.join(b, Seq("key"), "left_outer").show
+---+-----+-----+
|key|value|value|
+---+-----+-----+
| a| b| null|
| b| c| c|
+---+-----+-----+
scala> a.join(b, Seq("key"), "right_outer").show
+---+-----+-----+
|key|value|value|
+---+-----+-----+
| b| c| c|
| c| null| d|
+---+-----+-----+
scala> a.join(b, Seq("key"), "outer").show
+---+-----+-----+
|key|value|value|
+---+-----+-----+
| c| null| d|
| b| c| c|
| a| b| null|
+---+-----+-----+
Если вы ищете записи в b.csv
, которые нет в a.csv
:
scala> val diff = a.join(b, Seq("key"), "right_outer").filter($"a.value" isNull).drop($"a.value")
scala> diff.show
+---+-----+
|key|value|
+---+-----+
| c| d|
+---+-----+
scala> diff.write.csv("diff.csv")
+0
Спасибо за ответ Daniel, его очень полезно для меня. – Nathon
Смежные вопросы
- 1. Как сравнить два текстовых файла с rspec?
- 2. Как сравнить два wav-файла?
- 3. Конкордионизм: как сравнить два файла?
- 4. Как сравнить два файла CSV?
- 5. Как быстро сравнить два файла?
- 6. сравнить два файла (понимание)
- 7. Как сравнить два pdf-файла?
- 8. сравнить два файла txt
- 9. сравнить два файла
- 10. Как сравнить два файла с похожим контентом
- 11. Сравнить два файла контента
- 12. Как сравнить два раза с использованием php
- 13. Как сравнить два изображения с использованием Selenium
- 14. JavaScript сравнить два json-файла?
- 15. сравнить два файла в питоне
- 16. C#: сравнить два xml-файла
- 17. сравнить два файла, содержащие дубликаты
- 18. сравнить два файла, используя AWK
- 19. Чтобы сравнить два файла с разделителями пространства
- 20. Как сравнить два больших файла в Linux?
- 21. Как сравнить два файла в Haskell
- 22. Как сравнить два файла в сценарии оболочки?
- 23. Как сравнить два файла в Python?
- 24. сравнить два файла с указанной строкой
- 25. сравнить два файла в UNIX
- 26. Сравнить два файла в Баш
- 27. как сравнить два .js-файла в powershell
- 28. Как сравнить два файла в оболочке vxworks?
- 29. Как сравнить два файла в golang?
- 30. Как сравнить два файла и извлечь разницу?
Какова структура файлов? –
Это CSV-формат – Nathon
Что это за схема? Что такое столбец сравнения? Есть ли ограничение? –