Я использую Databricks, и я немного новичок в этом типе работы.Также: если я поставлю это под неправильной меткой, скажите, пожалуйста, чтобы я мог правильно пометить этот вопрос.
Кто-то создал Scala-код, в результате которого появилась таблица с более чем одним миллионом строк местоположений (каждая сделка отличается).
Моя цель - извлечь текст местоположения каждой строки (в строку), используя SQL и Python:
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
df = sqlContext.sql("SELECT value FROM scansources")
С этого момента я хотел добавить этов кадре данных Pandas, чтобы я мог извлечь значение каждой строки, используя цикл.(Мне нужен этот цикл для отдельного извлечения из-за дальнейшего анализа).
Я использовал:
df.toPandas()
, и с этого момента я мог легко извлечь каждое значение строки.Я проверил это с 50 строками, и оно работало нормально.
Вот проблема: тестовые строки, где только 50, реальные строки - более миллиона.Если я использую здесь df.toPandas (), задание на блоки данных не может быть выполнено из-за ограничения на драйвер в 4,0 ГБ.Увеличение этого предела не очень эффективно.
На самом деле мне нужен код, который может зацикливаться:
sqlContext.sql("SELECT value FROM scansources")
, чтобы извлекать значение каждой строки один за другим и добавлять этов список.Эта одна за другой часть очень важна, поскольку я использую их для дальнейшего анализа.
Надеюсь, вы понимаете мой вопрос и знаете решение.Скажите, пожалуйста, если что-то не понятно.
PS Я не программирую на Scala или SQL, но если у вас есть решение на Scala или SQL, то это тоже приветствуется.Однако список должен быть доступен для Python, поскольку я использую его для дальнейшего анализа.
С уважением,
Ганеш