2017-05-11 6 views
0

wir möchten das Datenframe oben auf Hive externe Tabelle erstellen und verwenden das Bienenstock Schema und Daten für die Berechnung in Sparklevel.Wie erstellt man Datenrahmen aus Hive externe Tabelle

können wir das Schema aus der externen Hive-Tabelle abrufen und es als Dataframe-Schema verwenden.

+1

Ich bin mir nicht ganz sicher, aber ich denke, dass es für Spark keinen Unterschied macht, welche Art von Hive-Tabelle Sie haben. Wie könnten Sie für das Schema weitere Details zum Datenformat angeben, das Sie in Ihrer Hive-Tabelle verwenden? –

+0

Wir haben CSV-Dateien mit out-Header und derzeit hat externe Datei für diese Dateien erstellt, so dass wir gerne die externen Tabellenstruktur für die Erstellung der Datenrahmen verwenden. – venkata

+0

Haben Sie darüber nachgedacht, eine Antwort zu erhalten? –

Antwort

0

Spark mit Hive aktiviert kann dies aus der Box tun. Beziehen Sie sich auf die docs.

val dataframe = spark.sql("SELECT * FROM table") 
val schema = dataframe.schema 
2

Der Stock-Metastore das Schema Ihrer Tabellen kennt und leitet diese Informationen funken. Es spielt keine Rolle, ob die Tabelle extern ist oder nicht:

val df = sqlContext.table(tablename) 

wo sqlContext vom Typ HiveContext. Sie können Ihr Schema mit

df.printSchema 
0

Zum Zugriff auf die Hive Tabelle Spark Funken HiveContext

import org.apache.spark.sql.hive.HiveContext; 

val sc = new SparkContext(conf) 
val sqlContext = new HiveContext(sc) 
. 
. 
do other stuff..then 
. 
. 

val data = sqlContext.sql("select * from hive_table"); 

hier data wird Ihr Datenrahmen mit Schema der Hive Tabelle überprüfen.

Verwandte Themen