Как указать несколько путей к таблице в Spark SQL - PullRequest
0 голосов
/ 25 апреля 2019

Чтобы было понятно, я спрашиваю о синтаксисе Spark SQL вместо Spark DataFrame.

Мы знаем, что Spark SQL может напрямую запрашивать паркетную (текстовую и т. Д.) Таблицу, и ниже приведен пример. Что если есть 2 пути, которые я хочу использовать в качестве одной таблицы?

select
    *
from
    parquet.`path_1`

1 Ответ

0 голосов
/ 25 апреля 2019

Это на python, поэтому я могу показать переменные, но часть SQL будет такой же.Я предполагаю, что вы просто хотите, чтобы данные добавлялись в себя?если так:

pth1 = '/path/to/location1/part-r-00000-bf53578.gz.parquet'
pth2 = '/path/to/location2/part-r-00001-bf265.gz.parquet'
sqlContext.sql("""
    select * from parquet.`hdfs://{0}` 
    union 
    select * from  parquet.`hdfs://{1}`
    """.format(pth1,pth2)).show()
+----+----+------------+
|col1|col2|        col3|
+----+----+------------+
|   2|   b|9.0987654321|
|   1|   a| 4.123456789|
+----+----+------------+

ТОЛЬКО в spark-sql это будет выглядеть так:

SELECT * 
FROM parquet.`hdfs:///path/to/location1/part-r-00000-bf53578.gz.parquet`
UNION 
SELECT * 
FROM parquet.`hdfs:///path/to/location2/part-r-00001-bf265.gz.parquet`

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