义齿
背景
前回のsparkがhiveとHBAseを接続する過程を記録し、主にホストと仮想マシンのホスト名マッピングが一致していることを保証しなければならない.
ステップ
1、まずwindowsのhostsファイル、CentOSのhostsファイル、CentOSのhostnameファイルにおける接続すべきipに対応するホスト名が一致することを保証する
例えば私が接続するipは192.168です.57.141、それでは私のwindowsの下のC:WindowsSystem 32driversetchostsファイルの中で相応の内容は
仮想マシンの/etc/hostsの対応内容は(次のlocalhost部分も少なくないことに注意してください.そうしないとwindowsはつながっていません)
仮想マシン/etc/hostnameの対応するコンテンツは
仮想マシン内の2つのファイルの内容が変更されてから再起動するか、次のコマンドでホスト名を一時的に変更できます.
2、hive-site.xmlはsparkディレクトリのconfディレクトリにコピーし、tezエンジンを閉じます.
3、mysqlのhiveのSDSとDBSテーブルをチェックし、以前hdfsにlocalhostでデータを保存していた場合は、localhostを真実のipに変更する
4、hive-site.xml、core-site.xmlとhdfs.xmlはideaのresourceディレクトリにコピーされ、hive-site.xmlレプリケーション後tezエンジンを閉じる
5、ideaプロジェクトのpomファイルに依存を導入する
6、sparkクラスタ、hiveのmetastoreとhbaseクラスタを起動した後、プロジェクトに以下のコードを書き、zookeeperIp、zookeeperPortとhbaseMaster URLを自分のZooKeeperアドレス、ポートとHbaseのアドレスに変える.
セッションをsql()のパラメータを自分のsql文に変換し、コンパイルして実行すればよい
前回のsparkがhiveとHBAseを接続する過程を記録し、主にホストと仮想マシンのホスト名マッピングが一致していることを保証しなければならない.
ステップ
1、まずwindowsのhostsファイル、CentOSのhostsファイル、CentOSのhostnameファイルにおける接続すべきipに対応するホスト名が一致することを保証する
例えば私が接続するipは192.168です.57.141、それでは私のwindowsの下のC:WindowsSystem 32driversetchostsファイルの中で相応の内容は
192.168.57.141 scentos
仮想マシンの/etc/hostsの対応内容は(次のlocalhost部分も少なくないことに注意してください.そうしないとwindowsはつながっていません)
192.168.57.141 scentos
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
仮想マシン/etc/hostnameの対応するコンテンツは
scentos
仮想マシン内の2つのファイルの内容が変更されてから再起動するか、次のコマンドでホスト名を一時的に変更できます.
[root@scentos spark-2.1.0]# hostname scentos
2、hive-site.xmlはsparkディレクトリのconfディレクトリにコピーし、tezエンジンを閉じます.
3、mysqlのhiveのSDSとDBSテーブルをチェックし、以前hdfsにlocalhostでデータを保存していた場合は、localhostを真実のipに変更する
mysql> update SDS set LOCATION=REPLACE (LOCATION,'hdfs://localhost:8020/user/hive/warehouse','hdfs://192.168.57.141:8020/user/hive/warehouse');
mysql> update DBS set DB_LOCATION_URI=REPLACE (DB_LOCATION_URI,'hdfs://localhost:8020/user/hive/warehouse','hdfs://192.168.57.141:8020/user/hive/warehouse');
4、hive-site.xml、core-site.xmlとhdfs.xmlはideaのresourceディレクトリにコピーされ、hive-site.xmlレプリケーション後tezエンジンを閉じる
5、ideaプロジェクトのpomファイルに依存を導入する
org.apache.spark
spark-sql_2.11
2.1.0
org.apache.spark
spark-hive_2.11
2.1.0
org.apache.hive
hive-hbase-handler
2.3.5
6、sparkクラスタ、hiveのmetastoreとhbaseクラスタを起動した後、プロジェクトに以下のコードを書き、zookeeperIp、zookeeperPortとhbaseMaster URLを自分のZooKeeperアドレス、ポートとHbaseのアドレスに変える.
SparkConf conf = new SparkConf()
.setMaster("local[*]")
.setAppName("ActionConsumer")
.set("spark.serializer", KryoSerializer.class.getCanonicalName())
.registerKryoClasses(new Class[]{ConsumerRecord.class})
.set("spark.kryoserializer.buffer.max", "512m")
.set("hbase.zookeeper.quorum", zookeeperIp)
.set("hbase.zookeeper.property.clientPort", zookeeperPort)
.set("hbase.master", hbaseMasterURL);
SparkSession session = SparkSession
.builder()
.config(conf)
.enableHiveSupport()
.getOrCreate();
Dataset rawData = session.sql("select * from profile");
rawData.show();
セッションをsql()のパラメータを自分のsql文に変換し、コンパイルして実行すればよい