Spark Mysqlデータの取得と分析
4800 ワード
インストール環境
Java環境
Sparkのインストールと起動
Sparkのダウンロードと解凍
masterとslaveの実行
そのうち192.168.0.166はローカルip
Mysql JDBCのダウンロード
JDBCをダウンロードし、sparkディレクトリに解凍し、
scalaコマンドの実行(spark-shell)
参照先: http://spark.apache.org/examples.html https://www.percona.com/blog/2016/08/17/apache-spark-makes-slow-mysql-queries-10x-faster/
Java環境
Sparkのインストールと起動
Sparkのダウンロードと解凍
wget https://d3kbcqa49mib13.cloudfront.net/spark-2.2.0-bin-hadoop2.7.tgz
tar xzvf spark-2.2.0-bin-hadoop2.7.tgz /usr/local
cd /usr/local
ln -s spark spark-2.2.0-bin-hadoop2.7
cd spark
masterとslaveの実行
./sbin/start-master.sh -h 192.168.0.166
./sbin/start-slave.sh spark://192.168.0.166:7077
そのうち192.168.0.166はローカルip
Mysql JDBCのダウンロード
JDBCをダウンロードし、sparkディレクトリに解凍し、
conf/spark-defaults.conf
を構成します.spark.driver.extraClassPath /usr/local/spark/mysql-connector-java-5.1.39-bin.jar
spark.executor.extraClassPath /usr/local/spark/mysql-connector-java-5.1.39-bin.jar
scalaコマンドの実行(spark-shell)
./bin/spark-shell --master spark://192.168.0.166:7077
var jdbcDF = spark.read.format("jdbc").options(
Map("url"->"jdbc:mysql://localhost:3306/collection?user=root&password=pw",
"dbtable"->"collection.iqilu_news",
"fetchSize"->"100",
"partitionColumn"->"catid",
"lowerBound"->"1",
"upperBound"->"300",
"numPartitions"->"30"
)).load()
// Spark partitionColumn ,numPartitions
// collection ,
jdbcDF.createOrReplaceTempView("collection")
var sqlDF = sql("SELECT title FROM collection ORDER BY id DESC LIMIT 10")
//
sqlDF.show()
//
sqlDF.count()
参照先: