0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

CentOSでSparkを試してみる(2015年秋)

Last updated at Posted at 2015-11-23

CentOSでHadoopとHiveを試してみるの続き。
よく、SparkがHadoopの機能の1つみたいに紹介されているが、全く違うもの。どちらかというとscalaの拡張機能と考えた方が近いか。もちろん、Hadoopの処理結果をHDFS経由で利用はできます。

インストール

scala

まずはScalaのインストールから。

wget http://downloads.typesafe.com/scala/2.11.7/scala-2.11.7.tgz
tar zxfv scala-2.11.7.tgz
mv scala-2.11.7 /usr/

spark

wget http://ftp.riken.jp/net/apache/spark/spark-1.5.2/spark-1.5.2-bin-hadoop2.6.tgz
tar zxfv spark-1.5.2
mv spark-1.5.2 /usr/

SCALA_HOME,SPARK_HOME,PATHの設定

.bashrcに下記を書く。

export SCALA_HOME=/usr/scala-2.11.7
export SPARK_HOME=/usr/spark-1.5.2
export PATH=$SCALA_HOME/bin:$PATH

spark(コンソール)の起動

cd $SPARK_HOME
bin/spark-shell
.
.
.
scala>

となれば、一応動いている。
インタラクティブシェルを抜けるには、

scala> :q

とする。

sacla> :quiteでもよい。

Hadoopとの連携?

何もHadoopと連携しなければいけないものでも無いが、HDFS上のファイルを処理してみる。
ファイルとしては、前にHiveで生成したファイル(/outpu/000000_0)を利用してみる。

scala> val hdfs_file = sc.textFile("hdfs://127.0.0.1:9000/output/000000_0")

scala> hdfs_file.count()
res4: Long = 5

scala> hdfs_file.filter(line => line.contains("新")).foreach(println)
新橋店100
新宿店340

Spark SQL

Sparkでは標準?でSQLインターフェースを利用することもできる。
以下の例では、

新橋店,100
新宿店,340
池袋店,874
渋谷店,400

という内容の/root/data.csvファイルがあることを前提とした操作。

cd $SPARK_HOME
bin/spark-sql

spark-sql>
spark-sql> show databases;
spark-sql> create database testdb;

create table sales(shop string,sales int)
row format delimited fields terminated by ','
stored as textfile;

load data local inpath "/root/data.csv" into table sales;

select * from sales where shop like '新%';

なぜか、上記data.csvファイルをHDFSコピーして、

load data inpath “/input/data.csv" into table sales;

とすると、

15/11/17 04:01:37 INFO ParseDriver: Parsing command: load data inpath “/input/data.csv" into table sales
MismatchedTokenException(15!=313)
	at org.antlr.runtime.BaseRecognizer.recoverFromMismatchedToken(BaseRecognizer.java:617)
.
.

といったエラーになる。これについては、引き続き調査します。たぶん初歩的な何か。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?