ok. so there you go.   IMO, you're going to have to create a custom wrapper
around hive so that your users find your wrapper (via PATH) before they
find the real hive executable.

Your wrapper checks for whatever you deem acceptable and if so calls the
real hive else errors out with your message.

pseudo-code:

#!/bin/bash
if [[ $#-eq 0 ]]; then
      echo "your message"
      exit 1;
else
      exec /path/to/real/hive $@
fi

there are other edge cases you may want to consider.  "hive -service cli"
would pass and you wouldn't want that but you get the idea i presume.





On Wed, May 15, 2013 at 5:32 PM, Sanjay Subramanian <
sanjay.subraman...@wizecommerce.com> wrote:

>  Hi
> To clarify what I need is as follows
>
>  - User types *hive*
>  - Message is displayed "Cannot use *hive* without -e or -f options"
>
>
>   From: Stephen Sprague <sprag...@gmail.com>
> Reply-To: "user@hive.apache.org" <user@hive.apache.org>
> Date: Wednesday, May 15, 2013 5:28 PM
> To: "user@hive.apache.org" <user@hive.apache.org>
> Subject: Re: How to Disable Hive CLI interactive mode
>
>   not sure i understand.  you're asking how to disable  "hive" (with no
> args)  [interactive mode]  yet still permit "hive -e" [batch mode]?
>
> if that's the case my proposal would be to have a wrapper around the hive
> executable and check if stdin is a tty.
>
> then again if i've completely misunderstood the question could you
> elaborate?
>
>
> On Wed, May 15, 2013 at 2:32 PM, Sanjay Subramanian <
> sanjay.subraman...@wizecommerce.com> wrote:
>
>>  Hi
>> I want to disable Hive CLI interactive mode for Hive clients in
>> production accessing Hive. Mainly due to the following error…This error is
>> solved in future 0.10.0+ versions perhaps but unfortunately upgrading is
>> Not an option today since we are moving to production in the next few hours
>> !!! YEAH…First Hive deployment in production…Thanks guys for that Hive Book
>> and thanks all for your wonderful discussions and answers !
>>
>>  The second big project I am wrapping up is is moving to production on
>> June 1st
>>
>>  Thanks
>>
>>  sanjay
>>
>>
>>  2013-04-30 17:11:42,548 WARN  conf.Configuration
>> (Configuration.java:warnOnceIfDeprecated(808)) - mapred.job.name is
>> deprecated. Instead, use mapreduce.job.name
>> 2013-04-30 17:11:42,651 ERROR exec.Task
>> (SessionState.java:printError(403)) - FAILED: Error in metadata:
>> java.lang.NullPointerException
>> org.apache.hadoop.hive.ql.metadata.HiveException:
>> java.lang.NullPointerException
>>     at org.apache.hadoop.hive.ql.metadata.Hive.createIndex(Hive.java:724)
>>     at
>> org.apache.hadoop.hive.ql.exec.DDLTask.createIndex(DDLTask.java:856)
>>     at org.apache.hadoop.hive.ql.exec.DDLTask.execute(DDLTask.java:248)
>>     at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:153)
>>     at
>> org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:57)
>>     at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1331)
>>     at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1117)
>>     at org.apache.hadoop.hive.ql.Driver.run(Driver.java:950)
>>     at
>> org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:258)
>>     at org.apache.hadoop.hive.cli.CliDriver.processCmd(CliDriver.java:215)
>>     at
>> org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:406)
>>     at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:744)
>>     at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:607)
>>     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>     at
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>>     at
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>>     at java.lang.reflect.Method.invoke(Method.java:597)
>>     at org.apache.hadoop.util.RunJar.main(RunJar.java:208)
>> Caused by: java.lang.NullPointerException
>>     at
>> org.apache.thrift.protocol.TBinaryProtocol.writeString(TBinaryProtocol.java:185)
>>     at org.apache.hadoop.hive.metastore.api.Index.write(Index.java:1085)
>>     at
>> org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$add_index_args.write(ThriftHiveMetastore.java:53243)
>>     at org.apache.thrift.TServiceClient.sendBase(TServiceClient.java:63)
>>     at
>> org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.send_add_index(ThriftHiveMetastore.java:1816)
>>     at
>> org.apache.hadoop.hive.metastore.api.ThriftHiveMetastore$Client.add_index(ThriftHiveMetastore.java:1807)
>>     at
>> org.apache.hadoop.hive.metastore.HiveMetaStoreClient.createIndex(HiveMetaStoreClient.java:868)
>>     at org.apache.hadoop.hive.ql.metadata.Hive.createIndex(Hive.java:721)
>>     ... 17 more
>>
>> 2013-04-30 17:11:42,656 ERROR ql.Driver
>> (SessionState.java:printError(403)) - FAILED: Execution Error, return code
>> 1 from org.apache.hadoop.hive.ql.exec.DDLTask
>>
>> CONFIDENTIALITY NOTICE
>> ======================
>> This email message and any attachments are for the exclusive use of the
>> intended recipient(s) and may contain confidential and privileged
>> information. Any unauthorized review, use, disclosure or distribution is
>> prohibited. If you are not the intended recipient, please contact the
>> sender by reply email and destroy all copies of the original message along
>> with any attachments, from your computer system. If you are the intended
>> recipient, please be advised that the content of this message is subject to
>> access, review and disclosure by the sender's Email System Administrator.
>>
>
>
> CONFIDENTIALITY NOTICE
> ======================
> This email message and any attachments are for the exclusive use of the
> intended recipient(s) and may contain confidential and privileged
> information. Any unauthorized review, use, disclosure or distribution is
> prohibited. If you are not the intended recipient, please contact the
> sender by reply email and destroy all copies of the original message along
> with any attachments, from your computer system. If you are the intended
> recipient, please be advised that the content of this message is subject to
> access, review and disclosure by the sender's Email System Administrator.
>

Reply via email to