Member since
09-28-2015
20
Posts
7
Kudos Received
5
Solutions
My Accepted Solutions
Title | Views | Posted |
---|---|---|
3799 | 04-25-2018 01:05 PM | |
3623 | 04-12-2018 12:03 PM | |
3188 | 01-23-2018 11:41 AM | |
1818 | 04-11-2017 11:02 AM |
10-02-2018
11:49 AM
Thanks for posting the resolution. I'm curious, though, was this a Kudu table or a table on HDFS?
... View more
06-08-2018
01:01 PM
1 Kudo
Hey @RikG, you are correct. The way errors are communicated is dependent on the configured FlushMode. In your example the FlushMode is not set, so it's the default of AUTO_FLUSH_SYNC. In AUTO_FLUSH_SYNC mode any per-row errors are immediately returned as part of the OperationResponse, since the write happens synchronously. In AUTO_FLUSH_BACKGROUND mode it's necessary to call getPendingErrors. The docs on AUTO_FLUSH_BACKGROUND cover this to some extent.
... View more
06-05-2018
02:03 PM
1 Kudo
Hi RikG, what do you mean by passing fewer arguments to the Kudu API? Note that for row errors you must call KuduSession.getPendingErrors (https://kudu.apache.org/apidocs/org/apache/kudu/client/KuduSession.html#getPendingErrors--).
... View more
04-25-2018
01:05 PM
1 Kudo
Yep, that's correct. That's the limitation implied by 'coarse-grained authorization'. Applying Sentry's fine-grained authorization policies in the Kudu server is a long-term roadmap item.
... View more
04-24-2018
11:32 AM
1 Kudo
The ACL is a whitelist, so you can add whichever users you like. The default value is '*', which allows any authenticated user to be authorized, but if you want to limit it to joe, bob, and impala you can set it to 'joe,bob,impala'. In this case joe and bob can take whatever actions they like directly on Kudu (including through Spark) and all other users going through Impala will be subject to Impala's more fine-grained authorizations. The Kudu CLI is subject to the exact same authorization checks as any other application interacting with Kudu, including direct client access, Spark and Impala. To Kudu, it's 'just another' client.
... View more
04-23-2018
03:17 PM
@Brazwrote: After testing, we've found that this is through the Kudu command-line interface where these coarse-grained ACLs get applied. The ACLs are enforced by th server, not the kudu CLI tool itself. @Brazwrote: We observed a non-admin user had access to drop tables in a database that this account had not been granted access to. Right, as discussed in the docs you linked, user principals have 'the ability to create, drop, and alter tables, as well as read, insert, update, and delete data'. If you would like to restrict a user from being able to drop a table, you will need to remove them from the user ACL whitelist. Note that this will also disallow them from all other interactions with Kudu data. A common configuration is to only include the 'impala' user in the user ACL whitelist, in which case only users authenticated through Impala will be able to use Kudu. Impala will apply its own Sentry-based authorizations which can distinguish privileges at a finer level.
... View more
04-12-2018
12:03 PM
Hi AKB, Assuming you're asking about Impala, you can find the exact syntax for creating tables with compressed/encoded columns in the CREATE TABLE reference, and the syntax for altering tables to add compression/encodings in the ALTER TABLE reference.
... View more
04-12-2018
09:55 AM
Hi AKB, there's no table-level compression. The closest equivalent would be specifying compression for all columns. It's pretty typical to rely on encodings to reduce size as much as possible, and then additionally apply compression only for particularly big or cold columns.
... View more
04-11-2018
03:39 PM
Hi AKB, Nothing is expected to show up in Kudu logs, because the failure is occurring in the Impala query analysis stage. I haven't been able to reproduce something similar using CDH 5.14, for instance the following queries complete successfully: CREATE TABLE fact_patientencounter
(
pk_PatientEncounterID int,
fk_AgencyID int,
measure_ChuteTime_TimeInSeconds bigint,
measure_Response_TimeInSeconds bigint
)
STORED AS PARQUET;
CREATE TABLE fact_patientencounter_kudu
PRIMARY KEY (pk_PatientEncounterID, fk_AgencyID)
PARTITION BY HASH(fk_AgencyID) PARTITIONS 3
STORED AS KUDU
AS SELECT pk_PatientEncounterID, fk_AgencyID FROM fact_patientencounter; @tmarshalldo you have any ideas about where that null analysis exception might be coming from?
... View more
04-11-2018
12:31 PM
Hard to say for certain without the error message, but it's likely that the parser doesn't like the column types being supplied in the PRIMARY KEY clause.
... View more