объединение (не объединение SQL) - PullRequest
0 голосов
/ 10 апреля 2019

У меня есть два больших кадра данных, вот примерные примеры.

первый

firstnames|lastnames|age
tom|form|24
bob|lip|36
....

второй

firstnames|lastnames|age
mary|gu|24
jane|lip|36
...

Я хотел бы взять обаобъедините их в один, который будет выглядеть так:

firstnames|lastnames|age
tom|form|24
bob|lip|36
mary|gu|24
jane|lip|36
...

Теперь я могу выписать их обоих, и они прочитают их вместе, но это огромная трата.

Ответы [ 2 ]

1 голос
/ 11 апреля 2019

Если оба кадра данных идентичны по структуре, то это просто - union()

df1.union(df2)

Если в любом кадре данных есть какой-либо пропущенный столбец, вы должны добавить фиктивный столбец в этом кадре в этой конкретной позиции столбца, иначеunion сгенерирует исключение несоответствия столбцов.в приведенном ниже примере столбец «c3» отсутствует в df1, поэтому я добавляю фиктивный столбец в df1 в последней позиции.

from pyspark.sql.functions import lit

df1.select('c1','c2',lit('dummy')).union(df2.select('c1','c2','c3'))
0 голосов
/ 10 апреля 2019

это просто, как показано здесь: union https://docs.databricks.com/spark/latest/faq/append-a-row-to-rdd-or-dataframe.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...