2017-01-18 4 views
1

次の設定を考慮してください。スパークリザーブサーバーからのhadoopの使用方法は?

Hadoopのバージョン2.6.4

スパークバージョン2.1.0

OS CentOSのLinuxでは、すべてのソフトウェアを単一ノードクラスタとして単一のマシンにインストールされている1511年2月7日(コア)

をリリースsparkはスタンドアロンモードでインストールされます。 私はスパークスリフトサーバーを使用しようとしています。 倹約サーバーを実行した後、私は実行スパーク倹約サーバシェルスクリプト start-thriftserver.sh

を開始するには、私は真っすぐコマンドラインツールを実行し、以下のコマンドを発行できます。 コマンドが正常に実行します。

!connect jdbc:hive2://localhost:10000 user_name '' org.apache.hive.jdbc.HiveDriver 
create database testdb; 
use testdb; 
create table names_tab(a int, name string) row format delimited fields terminated by ' '; 

を私の最初の質問は、haddopがこのテーブル/データベース用の基礎となるファイル/フォルダである場所です。 問題は、たとえhadoopがstop-all.shを使って停止しても、create table/databaseコマンドが成功したとしても、 は、テーブルがhadoop上に全く作成されていないと思うようにします。

私の2番目の質問は、世界のどこにhadoopがインストールされているかをsparkに伝える方法です。 とbearkから実行されるすべてのクエリの基礎となるデータストアとしてhadoopを使用するようにsparkに依頼してください。

私は別のモードでsparkをインストールするはずですか?

ありがとうございます。

答えて

0

私の目的は、hadoopを基盤とするデータストアとしてSpark Thrift Serverを使ってビーラインコマンドラインユーティリティを動作させることでした。私のセットアップは、このようなものだった:

Hadoop <--> Spark <--> SparkThriftServer <--> beeline 

私はそれが真っすぐコマンドラインユーティリティで実行するすべてのクエリのためにHadoopを使用するように火花を設定したかったです。 このトリックは、spark-defaults.xmlに次のプロパティを指定することでした。デフォルトの火花によって

spark.sql.warehouse.dir hdfs://localhost:9000/user/hive/warehouse 

は、私は、このプロパティを追加する必要がありました倉庫としてのスパーク利用のHadoopを持つために、メタデータとデータ自体の両方のためにダービー(スパークに倉庫と呼ばれる) を使用しています。ここで

はここ

./beeline 
Beeline version 1.0.1 by Apache Hive 
beeline> !connect jdbc:hive2://localhost:10000 abbasbutt '' org.apache.hive.jdbc.HiveDriver 
Connecting to jdbc:hive2://localhost:10000 
SLF4J: Class path contains multiple SLF4J bindings. 
SLF4J: Found binding in [jar:file:/home/abbasbutt/Projects/hadoop_fdw/hadoop/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: Found binding in [jar:file:/home/abbasbutt/Projects/hadoop_fdw/apache-hive-1.0.1-bin/lib/hive-jdbc-1.0.1-standalone.jar!/org/slf4j/impl/StaticLoggerBinder.class] 
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation. 
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory] 
Connected to: Spark SQL (version 2.1.0) 
Driver: Hive JDBC (version 1.0.1) 
Transaction isolation: TRANSACTION_REPEATABLE_READ 
0: jdbc:hive2://localhost:10000> 
0: jdbc:hive2://localhost:10000> 
0: jdbc:hive2://localhost:10000> 
0: jdbc:hive2://localhost:10000> create database my_test_db; 
+---------+--+ 
| Result | 
+---------+--+ 
+---------+--+ 
No rows selected (0.379 seconds) 
0: jdbc:hive2://localhost:10000> use my_test_db; 
+---------+--+ 
| Result | 
+---------+--+ 
+---------+--+ 
No rows selected (0.03 seconds) 
0: jdbc:hive2://localhost:10000> create table my_names_tab(a int, b string) row format delimited fields terminated by ' '; 
+---------+--+ 
| Result | 
+---------+--+ 
+---------+--+ 
No rows selected (0.11 seconds) 
0: jdbc:hive2://localhost:10000> 

はHadoopの内の対応するファイルであるサンプル出力である

[[email protected] test]$ hadoop fs -ls /user/hive/warehouse/ 
17/01/19 10:48:04 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
Found 4 items 
drwxrwxr-x - abbasbutt supergroup   0 2017-01-18 23:45 /user/hive/warehouse/fdw_db.db 
drwxrwxr-x - abbasbutt supergroup   0 2017-01-18 23:23 /user/hive/warehouse/my_spark_db.db 
drwxrwxr-x - abbasbutt supergroup   0 2017-01-19 10:47 /user/hive/warehouse/my_test_db.db 
drwxrwxr-x - abbasbutt supergroup   0 2017-01-18 23:45 /user/hive/warehouse/testdb.db 

[[email protected] test]$ hadoop fs -ls /user/hive/warehouse/my_test_db.db/ 
17/01/19 10:50:52 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 
Found 1 items 
drwxrwxr-x - abbasbutt supergroup   0 2017-01-19 10:50 /user/hive/warehouse/my_test_db.db/my_names_tab 
[[email protected] test]$ 
関連する問題