はじめてのHive

http://blog.katsuma.tv/2009/09/hive_introduction.html
を参考にさせてもらいながら、Hiveのbuildまで終わり。

$HIVE_HOME/bin/hive
Invalid maximum heap size: -Xmx4096m

うぅ。。VMwareで512MBしか割り当てしてないからなぁ。。
ということで情報を探してみると、こんな投稿発見。
http://osdir.com/ml/hive-user-hadoop-apache/2010-06/msg00035.html

つまり$hive_install/bin/ext/util/execHiveCmd.shで

HADOOP_HEAPSIZE=4096

が問題らしい。これを512に修正してから、再build。

cd /home/kotaro/hive # Install Dir
ant package
$HIVE_HOME/bin/hive
Hive history file=/tmp/kotaro/hive_job_log_kotaro_201007010833_1995649116.txt
hive>

キター!!!

いよいよcreate table。

hive> CREATE TABLE page_view(viewTime INT, userid BIGINT,
    > page_url STRING, referrer_url STRING,
    > ip STRING COMMENT 'IP Address of the User')
    > ;
FAILED: Parse Error: line 1:22 cannot recognize input '('

動かない。。。ログを眺めてみるがさっぱり。。。

less /tmp/kotaro/hive.log

2010-07-04 15:55:04,466 ERROR ql.Driver (SessionState.java:printError(277)) - FA
ILED: Parse Error: line 1:22 cannot recognize input '('

org.apache.hadoop.hive.ql.parse.ParseException: line 1:22 cannot recognize input
 '('

        at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:40
1)
        at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:299)
        at org.apache.hadoop.hive.ql.Driver.run(Driver.java:379)
        at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:138)
        at org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:197)
        at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:329)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)

やっぱりjavaに詳しくないとダメなんだろうか。直近で使う予定はなくなったので、一旦諦めて他のことをする。くぅぅ、残念。