pyodbc hive can't set properties - hive

Has anyone run into issues attempting to set hive properties through pyodbc and the properties not taking?
I'm able to connect to my Hive server and run queries that would indicate a session is remaining open (eg. using temporary tables).
However, when I try:
set hive.mapred.mode = nonstrict;
or
set hive.execution.engine = mr;
Neither of these properties get set.
Thoughts?

Try the following: set hive.hive.mapred.mode = nonstrict;

Related

Setting the prompt in Beeline

When connecting to beeline, my prompt is some hefty truncated version of the JDBC url:
0: jdbc:hive2//fully.qualified.host.na
Which takes up an annoying amount of real estate.
I tried set hive.cli.prompt=foo>>, and get an error that that property is not in the list of params that are allowed to be modified at runtime.
Is there no way to set the prompt to a custom values?
EDIT:
For hive, you can set hive.cli.prompt; for beeline it is hardcoded here:
https://github.com/apache/hive/blob/477f541844db3ea5eaee8746033bf80cd48b7f8c/beeline/src/java/org/apache/hive/beeline/BeeLine.java#L1769-L1775

alter session set store.mongo.bson.record.reader doesn't work in Drill

Could you please help me ?
I'm trying to do : alter session set store.mongo.bson.record.reader= false; in Apache Drill but the output shows that it's still set to true.
I really need to change it so that I can read the real value of _id in MongoDB
Any help ?
Thanks
Go to http://localhost:8047/options (assuming drill is running in localhost).
And change your property to false and update it.

Not able to connect to OpenOffice Base - User lacks privilege or object not found Exception

I am trying to connect to an OpenOffice Base database from Java and execute a query, and have not been able to.
These are the steps I followed:
1) Created a Database 'TestDB.odb' in OpenOffice, and a table 'Movies' with columns (ID, Name, Director)
2) Downloaded hsqldb jar file and inclued in project build path
3) Used the following code to connect to it:
String file_name_prefix = "C:/Documents and Settings/327701/My Documents/TestDB.odb";
Connection con = null;
Class.forName("org.hsqldb.jdbcDriver");
con = DriverManager.getConnection("jdbc:hsqldb:file:" + file_name_prefix, "sa","");
Statement statement = con.createStatement();
String query1 = "SELECT * FROM \"Movies\"";
ResultSet rs = statement.executeQuery(query1);
Althoug I'm able to connect to the Database, it throws the following exception on trying to execute the query:
org.hsqldb.HsqlException: user lacks privilege or object not found: Movies
Tried googling, but have not been able to resolve my problem. I'm stuck and it would be great if someone could guide me on how to fix this issue?
You cannot connect to an .odb database. The database you have connected to is in fact a separeate set of files with names such as TestDB.odb.script, etc.
Check http://user.services.openoffice.org/en/forum/viewtopic.php?f=83&t=17567 on how to use an HSQLDB database externally from OOo in server mode. You can connect to such databases with the HSQLDB jar.
OLD thread.
I lost 2 days of my life until I changed the property:
spring.jpa.properties.hibernate.globally_quoted_identifiers = false
I was using mysql before and then I changed to hsqldb in order to run some tests. I kinda copied and pasted this property without looking and then you know - Murphy's law ...
I hope it helps.

Export CSV from phpMyAdmin after using SQL_BIG_SELECTS = 1

I have the following query which requires SET SQL_BIG_SELECTS = 1; to be run before it.
SET SQL_BIG_SELECTS = 1;
SELECT uc_products.nid, uc_products.model, uc_products.sell_price
FROM uc_products, node
WHERE node.status = 1
GROUP BY nid
This generates exactly what I need in phpMyAdmin. I need to export this as a CSV file but when I go to export, it loses the SET SQL_BIG_SELECTS = 1; part of the query and there's no way to add it back in. This means that in the CSV file, I'm getting an error message telling me to use SET SQL_BIG_SELECTS = 1; in order to run the query properly.
Has anyone come across this problem before or have any idea how to get around it?
You can set SQL_BIG_SELECTS in config file or at server startup. It can also be set on a session basis with 'SET SESSION SQL_BIG_SELECTS=1'.

Oracle global_names DELETE problem

I'm using a database link to execute a DELETE statement on another DB, but the DB link name doesn't conform to global naming, and this requirement cannot change.
Also I have global_names set to false, and cannot be changed either.
When I try to use these links however, I receive:
ORA-02069: - global_names parameter must be set to TRUE for this operation
Cause: A remote mapping of the statement is required but cannot be achieved because
GLOBAL_NAMES should be set to TRUE for it to be achieved. -
Action: Issue `ALTER SESSION SET GLOBAL_NAMES = TRUE` (if possible)
What is the alternative action when setting global_names=true is not possible?
Cheers,
Jean
That parameter can be set at the session level. Could you not set the GLOBAL_NAMES value equal to TRUE in your session, execute your delete, then set if back to FALSE? If not could you create a new connections just for this delete and update the GLOBAL_NAMES value in that session to be true?
The problem is that the GLOBAL_NAMES parameter is set to TRUE in your environment. That requires that the DB link have the same name as the GLOBAL_NAME of the remote DB.
Here's a link which describes the situation more fully.