2017-05-17 3 views
0

Ich sehe nichts in der Dokumentation, aber gibt es eine Möglichkeit, den Hive TBLPROPERTIES für eine Tabelle von Spark mit einem HiveContext oder Hive-Backed DataFrame abfragen?Hive TBLPROPERTIES von Spark

+0

Haben Sie meinen Sie das 'tblproperties' – User12345

+0

@Virureddy Nein ändern möchten, fragen Sie sie einfach. – llasram

Antwort

1

AFAIK Sie können nicht auf die HiveMetastoreClient zugreifen, die Spark innerhalb seiner HiveSession verwendet.

Aber, können Sie nur ein weiterer instanziiert - hoffentlich die CLASSPATH OK ist und enthält sowohl die Hive JARs und die Verzeichnisse Hadoop/Hive Konfigurationsdateien enthält, und Sie haben nicht die Kerberos-Authentifizierung (oder profitieren Sie von das implizite Hadoop-UGI des Spark-Treibers, der Kerberos automatisch verarbeitet); also ist es nur eine Frage von new HiveMetaStoreClient(new HiveConf())

Dann .getTable(...).getParameters() sollten Sie erhalten die TBLPROPERTIES, die Sie wollen, in einem Java Map.

https://hive.apache.org/javadocs/r1.2.2/api/org/apache/hadoop/hive/metastore/HiveMetaStoreClient.html

+0

Nicht, was ich mir erhofft hatte, aber ich akzeptiere das, wenn ich nur über den Hive-Client völlig unabhängig von Spark die einzige Lösung finde. – llasram

+0

Wenn Sie mutig genug sind, den Spark-Quellcode gründlich zu lesen, finden Sie vielleicht einen Hack; aber IMHO ist der 'SQLContext' /' HiveContext' Teil nicht der lesenswerteste ... –

Verwandte Themen