Cloudera Virtual Machine に付属する Spark チュートリアルを実行しようとしています。しかし、正しい行末エンコーディングを使用していても、大量のエラーが発生するため、スクリプトを実行できません。このチュートリアルは、Courseraビッグ データ分析入門コースの一部です。割り当てはここにあります。
だからここに私がやったことです。IPython シェルをインストールします (まだ完了していない場合)。
sudo easy_install ipython==1.2.1
シェルを開く/起動します (1.2.0 または 1.4.0 のいずれか):
PYSPARK_DRIVER_PYTHON=ipython pyspark --packages com.databricks:spark-csv_2.10:1.2.0
行末を Windows スタイルに設定します。これは、ファイルが Windows エンコーディングであり、コースでそうするように言われているためです。これを行わないと、他のエラーが発生します。
sc._jsc.hadoopConfiguration().set('textinputformat.record.delimiter','\r\n')
CSV ファイルを読み込もうとしています:
yelp_df = sqlCtx.load(source='com.databricks.spark.csv',header = 'true',inferSchema = 'true',path = 'file:///usr/lib/hue/apps/search/examples/collections/solr_configs_yelp_demo/index_data.csv')
しかし、次のように始まるエラーの非常に長いリストを取得します。
Py4JJavaError: An error occurred while calling o23.load.: java.lang.RuntimeException:
Unable to instantiate
org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient at
org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:472)
完全なエラー メッセージは、ここで確認できます。これは /etc/hive/conf/hive-site.xml です
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!-- Hive Configuration can either be stored in this file or in the hadoop configuration files -->
<!-- that are implied by Hadoop setup variables. -->
<!-- Aside from Hadoop setup variables - this file is provided as a convenience so that Hive -->
<!-- users do not have to edit hadoop configuration files (that may be managed as a centralized -->
<!-- resource). -->
<!-- Hive Execution Parameters -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://127.0.0.1/metastore?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>cloudera</value>
</property>
<property>
<name>hive.hwi.war.file</name>
<value>/usr/lib/hive/lib/hive-hwi-0.8.1-cdh4.0.0.jar</value>
<description>This is the WAR file with the jsp content for Hive Web Interface</description>
</property>
<property>
<name>datanucleus.fixedDatastore</name>
<value>true</value>
</property>
<property>
<name>datanucleus.autoCreateSchema</name>
<value>false</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://127.0.0.1:9083</value>
<description>IP address (or fully-qualified domain name) and port of the metastore host</description>
</property>
</configuration>
それを解決する方法やアイデアはありますか?よくあるエラーだと思います。しかし、私はまだ解決策を見つけることができませんでした。
もう 1 つ: このような長いエラー メッセージを別のログ ファイルにダンプする方法はありますか?