Saya menggunakan Databricks dan saya sudah memuat beberapa DataTables.

Namun, saya memiliki kueri SQL kompleks yang ingin saya operasikan pada tabel data ini, dan saya ingin tahu apakah saya dapat menghindari menerjemahkannya di pyspark.

Apakah itu mungkin?

Untuk memberikan contoh:

Dalam SQL:

with table2 as (
   select column1, column1
   from database.table1
   where
         start_date <= DATE '2019-03-01' and
         end_date >= DATE '2019-03-31'            )

Di pyspark saya sudah memuat table1 tetapi yang berikut ini tidak berfungsi karena tidak dapat menemukan table1.

query = "(
    select column1, column1
           from table1
               where
         start_date <= DATE '2019-03-01' and
         end_date >= DATE '2019-03-31'            )"
table2 = spark.sql(query)

Terima kasih

1
George Sotiropoulos 7 Agustus 2019, 13:43

1 menjawab

Jawaban Terbaik

Coba berikan databasename.tablename alih-alih tablename dalam kueri.

query = "(
    select column1, column1
           from *database_name.table_name* 
               where
         start_date <= DATE '2019-03-01' and
         end_date >= DATE '2019-03-31' )" 

Jika Anda menggunakan pyspark maka itu harus

pyspark.sql(query)
2
Andrew Regan 22 September 2019, 12:59