У меня есть такая таблица, я делаю обычное вращение, что не дает желаемого результата.
+-----------------------------------------------------------+-----------------------------------------------------------------------------
|type |column_ref |table_object |
+-----------------------------------------------------------+-----------------------------------------------------------------------------
foreignKeyColumn FRED.FRED.BACHELOR_DEGREE_OR_HIGHER.REGION_CODE FRED.FRED.US_REGIONS |
primaryKeyColumn FRED.FRED.US_REGIONS.REGION_CODE FRED.FRED.US_REGIONS |
foreignKeyColumn FRED.FRED.MEAN_REAL_WAGES_COLA.REGION_CODE FRED.FRED.US_REGIONS |
primaryKeyColumn FRED.FRED.US_REGIONS.REGION_CODE FRED.FRED.US_REGIONS |
foreignKeyColumn FRED.FRED.PER_CAPITA_PERSONAL_INCOME.REGION_CODE FRED.FRED.US_REGIONS |
primaryKeyColumn FRED.FRED.US_REGIONS.REGION_CODE FRED.FRED.US_REGIONS |
foreignKeyColumn FRED.FRED.HOMEOWNERSHIP_RATE.REGION_CODE FRED.FRED.US_REGIONS |
primaryKeyColumn FRED.FRED.US_REGIONS.REGION_CODE FRED.FRED.US_REGIONS |
+-----------------------------------------------------------+-----------------------------------------------------------------------------
Я хочу получить это таким образом:
+-----------------------------------------------------------+-----------------------------------------------------------------------------
|foreignKeyColumn |primaryKeyColumn |table_object |
+-----------------------------------------------------------+-----------------------------------------------------------------------------
FRED.FRED.BACHELOR_DEGREE_OR_HIGHER.REGION_CODE FRED.FRED.US_REGIONS.REGION_CODE FRED.FRED.US_REGIONS
FRED.FRED.MEAN_REAL_WAGES_COLA.REGION_CODE FRED.FRED.US_REGIONS.REGION_CODE FRED.FRED.US_REGIONS
FRED.FRED.PER_CAPITA_PERSONAL_INCOME.REGION_CODE FRED.FRED.US_REGIONS.REGION_CODE FRED.FRED.US_REGIONS
FRED.FRED.HOMEOWNERSHIP_RATE.REGION_CODE FRED.FRED.US_REGIONS.REGION_CODE FRED.FRED.US_REGIONS
Я пробовал сделать это вот так:
val grouped = df.groupBy("table_object").pivot("type").agg(first("column_ref"))
Но это не дает ожидаемых результатов. Может ли кто-нибудь предложить, что можно сделать для желаемого результата?
Нормальное SQL / DF решение, оба будут полезны.