Java 如何在调试模式下运行配置单元
我以cloudera网站为例,编写了一个用于解析文件的自定义SerDe 这似乎是一个很好的例子,但当我使用自定义serde创建表时Java 如何在调试模式下运行配置单元,java,hadoop,hive,Java,Hadoop,Hive,我以cloudera网站为例,编写了一个用于解析文件的自定义SerDe 这似乎是一个很好的例子,但当我使用自定义serde创建表时 ADD JAR <path-to-hive-serdes-jar>; CREATE EXTERNAL TABLE tweets ( id BIGINT, created_at STRING, source STRING, favorited BOOLEAN, retweeted_status STRUCT< text
ADD JAR <path-to-hive-serdes-jar>;
CREATE EXTERNAL TABLE tweets (
id BIGINT,
created_at STRING,
source STRING,
favorited BOOLEAN,
retweeted_status STRUCT<
text:STRING,
user:STRUCT<screen_name:STRING,name:STRING>,
retweet_count:INT>,
entities STRUCT<
urls:ARRAY<STRUCT<expanded_url:STRING>>,
user_mentions:ARRAY<STRUCT<screen_name:STRING,name:STRING>>,
hashtags:ARRAY<STRUCT<text:STRING>>>,
text STRING,
user STRUCT<
screen_name:STRING,
name:STRING,
friends_count:INT,
followers_count:INT,
statuses_count:INT,
verified:BOOLEAN,
utc_offset:INT,
time_zone:STRING>,
in_reply_to_screen_name STRING
)
PARTITIONED BY (datehour INT)
ROW FORMAT SERDE 'com.cloudera.hive.serde.JSONSerDe'
LOCATION '/user/flume/tweets';
我什么也没有得到,所以我想知道我是否可以在调试模式下运行hive以查看失败的位置。可以调试hive代码。此链接可能会帮助您:您最好按如下所示将记录器模式切换为调试来启动hive shell,我希望您能从中找到有用的东西
hive --hiveconf hive.root.logger=DEBUG,console
由于公司特定的设置,设置hive-hiveconf-hive.root.logger=DEBUG,console
可能并不总是有效
我最终在我的主目录中创建了一个hive-log4j.properties
文件,设置如下:
log4j.rootCategory=DEBUG,console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n
并使用
CLASSPATH=$HOME-hive
启动了HiveShell,它将您的主目录添加到类路径前面的hive-log4j.properties
,因此将其拾取。也可以很容易地将其定向到文件:hive--hiveconf-hive.root.logger=DEBUG,默认情况下它将在/tmp//hive.log中结束
log4j.rootCategory=DEBUG,console
log4j.appender.console=org.apache.log4j.ConsoleAppender
log4j.appender.console.target=System.err
log4j.appender.console.layout=org.apache.log4j.PatternLayout
log4j.appender.console.layout.ConversionPattern=%d{yy/MM/dd HH:mm:ss} %p %c{1}: %m%n