Właśnie zacząłem z DataFrame wczoraj i naprawdę podoba mi się to do tej pory.Spark DataFrames: registerTempTable vs not
ja nie rozumiem jednej rzeczy, choć ... (Powołując się na przykład w „Programowo Określanie schematu” tutaj: https://spark.apache.org/docs/latest/sql-programming-guide.html#programmatically-specifying-the-schema)
W tym przykładzie dataframe jest zarejestrowany jako stół (zgaduję, aby zapewnić dostęp do zapytań SQL ..?), ale dokładnie te same informacje, które są dostępne, mogą być również wykonane przez peopleDataFrame.select ("name").
Pytanie brzmi .. Kiedy chciałbyś zarejestrować ramkę danych jako tabelę zamiast tylko używać podanych funkcji ramek danych? I czy jedna opcja jest bardziej wydajna niż druga?
Więc SQLContext to własna implementacja silnika SQL (parser, optymalizator, executor itp.), Prawda? Co się stanie, gdy użyjesz HiveContext? Czy wykonanie kwerendy sql jest delegowane do Hive? Natknąłem się na czytanie, które mówi, że rozmieszczenie ula nie jest wymagane przy użyciu HiveContext. Jak wtedy działają wewnętrznie? –