0

メタストアなしで pyspark 2.0 を使用していくつかの ORC ファイルを読みたいです。データ スキーマが ORC ファイルに埋め込まれているため、理論的には実行可能です。しかし、ここに私が得たものがあります:

[me@hostname ~]$/usr/local/spark-2.0.0-bin-hadoop2.6/bin/pyspark
Python 2.7.11 (デフォルト、2016 年 2 月 18 日 13:54:48)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-16)] linux2 上
詳細については、「ヘルプ」、「著作権」、「クレジット」、または「ライセンス」と入力してください。
デフォルトのログ レベルを「WARN」に設定します。
ログ レベルを調整するには、sc.setLogLevel(newLevel) を使用します。
へようこそ
      ____ __
     / __/__ ___ _____/ /__
    _\ \/ _ \/ _ `/ __/ '_/
   /__ / .__/\_,_/_/ /_/\_\ バージョン 2.0.0
      /_/

Python バージョン 2.7.11 を使用 (デフォルト、2016 年 2 月 18 日 13:54:48)
SparkSession は「spark」として利用できます。
>>> df=spark.read.orc('/my/orc/file')
16/08/21 22:29:38 警告 util.NativeCodeLoader: プラットフォームのネイティブ Hadoop ライブラリをロードできません... 該当する場合は組み込み Java クラスを使用します
16/08/21 22:30:00 エラー metastore.RetryingHMSHandler: AlreadyExistsException (メッセージ: データベースのデフォルトは既に存在します)
    org.apache.hadoop.hive.metastore.HiveMetaStore$HMSHandler.create_database (HiveMetaStore.java:891) で
    sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) で
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で
    java.lang.reflect.Method.invoke(Method.java:498) で
    org.apache.hadoop.hive.metastore.RetryingHMSHandler.invoke (RetryingHMSHandler.java:107) で
    com.sun.proxy.$Proxy21.create_database (不明なソース) で
    org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createDatabase (HiveMetaStoreClient.java:644) で
    sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) で
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で
    java.lang.reflect.Method.invoke(Method.java:498) で
    org.apache.hadoop.hive.metastore.RetryingMetaStoreClient.invoke (RetryingMetaStoreClient.java:156) で
    com.sun.proxy.$Proxy22.createDatabase で (不明なソース)
    org.apache.hadoop.hive.ql.metadata.Hive.createDatabase (Hive.java:306) で
    org.apache.spark.sql.hive.client.HiveClientImpl$$anonfun$createDatabase$1.apply$mcV$sp(HiveClientImpl.scala:291) で
    org.apache.spark.sql.hive.client.HiveClientImpl$$anonfun$createDatabase$1.apply (HiveClientImpl.scala:291) で
    org.apache.spark.sql.hive.client.HiveClientImpl$$anonfun$createDatabase$1.apply (HiveClientImpl.scala:291) で
    org.apache.spark.sql.hive.client.HiveClientImpl$$anonfun$withHiveState$1.apply (HiveClientImpl.scala:262) で
    org.apache.spark.sql.hive.client.HiveClientImpl.liftedTree1$1 (HiveClientImpl.scala:209) で
    org.apache.spark.sql.hive.client.HiveClientImpl.retryLocked (HiveClientImpl.scala:208) で
    org.apache.spark.sql.hive.client.HiveClientImpl.withHiveState (HiveClientImpl.scala:251) で
    org.apache.spark.sql.hive.client.HiveClientImpl.createDatabase (HiveClientImpl.scala:290) で
    org.apache.spark.sql.hive.HiveExternalCatalog$$anonfun$createDatabase$1.apply$mcV$sp(HiveExternalCatalog.scala:99) で
    org.apache.spark.sql.hive.HiveExternalCatalog$$anonfun$createDatabase$1.apply(HiveExternalCatalog.scala:99) で
    org.apache.spark.sql.hive.HiveExternalCatalog$$anonfun$createDatabase$1.apply(HiveExternalCatalog.scala:99) で
    org.apache.spark.sql.hive.HiveExternalCatalog.withClient (HiveExternalCatalog.scala:72) で
    org.apache.spark.sql.hive.HiveExternalCatalog.createDatabase (HiveExternalCatalog.scala:98) で
    org.apache.spark.sql.catalyst.catalog.SessionCatalog.createDatabase (SessionCatalog.scala:147) で
    org.apache.spark.sql.catalyst.catalog.SessionCatalog.(SessionCatalog.scala:89) で
    org.apache.spark.sql.hive.HiveSessionCatalog.(HiveSessionCatalog.scala:51) で
    org.apache.spark.sql.hive.HiveSessionState.catalog$lzycompute(HiveSessionState.scala:49) で
    org.apache.spark.sql.hive.HiveSessionState.catalog (HiveSessionState.scala:48) で
    org.apache.spark.sql.hive.HiveSessionState$$anon$1 で。(HiveSessionState.scala:63)
    org.apache.spark.sql.hive.HiveSessionState.analyzer$lzycompute(HiveSessionState.scala:63) で
    org.apache.spark.sql.hive.HiveSessionState.analyzer (HiveSessionState.scala:62) で
    org.apache.spark.sql.execution.QueryExecution.assertAnalyzed (QueryExecution.scala:49) で
    org.apache.spark.sql.Dataset$.ofRows(Dataset.scala:64) で
    org.apache.spark.sql.SparkSession.baseRelationToDataFrame (SparkSession.scala:382) で
    org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:143) で
    org.apache.spark.sql.DataFrameReader.orc (DataFrameReader.scala:450) で
    org.apache.spark.sql.DataFrameReader.orc (DataFrameReader.scala:439) で
    sun.reflect.NativeMethodAccessorImpl.invoke0(ネイティブメソッド)
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) で
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) で
    java.lang.reflect.Method.invoke(Method.java:498) で
    py4j.reflection.MethodInvoker.invoke (MethodInvoker.java:237) で
    py4j.reflection.ReflectionEngine.invoke (ReflectionEngine.java:357) で
    py4j.Gateway.invoke (Gateway.java:280) で
    py4j.commands.AbstractCommand.invokeMethod (AbstractCommand.java:128) で
    py4j.commands.CallCommand.execute (CallCommand.java:79) で
    py4j.GatewayConnection.run (GatewayConnection.java:211) で
    java.lang.Thread.run(Thread.java:745) で

>>>

ORC ファイルを読む正しい方法は何ですか?

4

1 に答える 1

2

私は問題を理解しました。pyspark は ERROR を報告しましたが、ORC ファイルからデータ フレームへのデータのロードは実際には失敗しませんでした。エラー メッセージが表示されますが、返されたデータ フレームは問題なく参照できます。

于 2016-08-22T01:54:03.337 に答える