You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@hive.apache.org by Raymond Lau <rl...@ooyala.com> on 2014/07/29 04:23:30 UTC
Metastore Event Listeners
Hey guys, I'm having some trouble getting my Metastore Event Listener to do
anything, none of my print statements are occuring. What am I missing? I
added the jar in the classpath and i'm pretty sure that it's getting
loaded. Nothing is showing up in the hive CLI when i create partition on
an external table via "ALTER TABLE table ADD PARTITION
(partitionkey='blah') LOCATION '/path/to/hdfs/file' "
In my hive-site.xml, I have the event listener setting as:
<property>
<name>hive.metastore.event.listeners</name>
<value>company.analytics.MyNotificationListener</value>
</property>
I checked that it's loading via "set;" and it
shows: hive.metastore.event.listeners=company.analytics.MyNotificationListener
And here's my code:
package company.analytics
import org.apache.hadoop.conf.Configuration;
import org.apache.hadoop.hive.metastore.MetaStoreEventListener;
import org.apache.hadoop.hive.metastore.api.MetaException;
import org.apache.hadoop.hive.metastore.events.AddPartitionEvent;
import org.apache.hadoop.hive.metastore.events.AlterTableEvent;
public class MyNotificationListener extends MetaStoreEventListener {
public KafkaNotificationListener(final Configuration conf) {
super(conf);
System.out.println("Created Kafka Notification Listener");
}
@Override
public void onAddPartition(AddPartitionEvent partitionEvent) throws
MetaException {
System.out.println("Created partition " +
partitionEvent.getPartition().getTableName());
}
@Override
public void onAlterTable(AlterTableEvent alterTableEvent) throws
MetaException {
System.out.println("ALTERED TABLE");
}
}
Thanks in advance.
--
*Raymond Lau*
Software Engineer - Intern |
rlau@ooyala.com | (925) 395-3806
Re: Metastore Event Listeners
Posted by Raymond Lau <rl...@ooyala.com>.
Figured out my problem. I didn't add the jar to the classpath properly,
was trying to reference it locally instead of on HDFS.
On Mon, Jul 28, 2014 at 7:23 PM, Raymond Lau <rl...@ooyala.com> wrote:
> Hey guys, I'm having some trouble getting my Metastore Event Listener to
> do anything, none of my print statements are occuring. What am I missing?
> I added the jar in the classpath and i'm pretty sure that it's getting
> loaded. Nothing is showing up in the hive CLI when i create partition on
> an external table via "ALTER TABLE table ADD PARTITION
> (partitionkey='blah') LOCATION '/path/to/hdfs/file' "
>
> In my hive-site.xml, I have the event listener setting as:
>
> <property>
> <name>hive.metastore.event.listeners</name>
> <value>company.analytics.MyNotificationListener</value>
> </property>
>
> I checked that it's loading via "set;" and it
> shows: hive.metastore.event.listeners=company.analytics.MyNotificationListener
>
> And here's my code:
>
> package company.analytics
>
> import org.apache.hadoop.conf.Configuration;
> import org.apache.hadoop.hive.metastore.MetaStoreEventListener;
> import org.apache.hadoop.hive.metastore.api.MetaException;
> import org.apache.hadoop.hive.metastore.events.AddPartitionEvent;
> import org.apache.hadoop.hive.metastore.events.AlterTableEvent;
>
> public class MyNotificationListener extends MetaStoreEventListener {
>
> public KafkaNotificationListener(final Configuration conf) {
> super(conf);
> System.out.println("Created Kafka Notification Listener");
> }
>
> @Override
> public void onAddPartition(AddPartitionEvent partitionEvent) throws
> MetaException {
> System.out.println("Created partition " +
> partitionEvent.getPartition().getTableName());
> }
>
> @Override
> public void onAlterTable(AlterTableEvent alterTableEvent) throws
> MetaException {
> System.out.println("ALTERED TABLE");
> }
>
> }
>
> Thanks in advance.
>
> --
> *Raymond Lau*
> Software Engineer - Intern |
> rlau@ooyala.com | (925) 395-3806
>
--
*Raymond Lau*
Software Engineer - Intern |
rlau@ooyala.com | (925) 395-3806