pan3793 commented on code in PR #6300:
URL: https://github.com/apache/kyuubi/pull/6300#discussion_r1561910343
##########
kyuubi-hive-beeline/src/main/resources/BeeLine.properties:
##########
@@ -154,73 +154,76 @@ hs2-unknown-connection-problem: Unknown HS2 problem when
communicating with Thri
hs2-unexpected-error: Unexpected HS2 error when communicating with the Thrift
server.
interrupt-ctrl-c: Interrupting... Please be patient this may take some time.
-
-cmd-usage: Usage: java org.apache.hive.cli.beeline.BeeLine \n \
-\ -u <database url> the JDBC URL to connect to\n \
-\ -c <named url> the named JDBC URL to connect to,\n \
-\ which should be present in
beeline-site.xml\n \
-\ as the value of
beeline.hs2.jdbc.url.<namedUrl>\n \
-\ -r reconnect to last saved connect url (in
conjunction with !save)\n \
-\ -n <username> the username to connect as\n \
-\ -p <password> the password to connect as\n \
-\ -d <driver class> the driver class to use\n \
-\ -i <init file> script file for initialization\n \
-\ -e <query> query that should be executed\n \
-\ -f <exec file> script file that should be executed\n \
-\ -w (or) --password-file <password file> the password file to read password
from\n \
-\ --hiveconf property=value Use value for given property\n \
-\ --hivevar name=value hive variable name and value\n \
-\ This is Hive specific settings in which
variables\n \
-\ can be set at session level and referenced
in Hive\n \
-\ commands or queries.\n \
-\ --property-file=<property-file> the file to read connection properties
(url, driver, user, password) from\n \
-\ --color=[true/false] control whether color is used for display\n
\
-\ --showHeader=[true/false] show column names in query results\n \
-\ --escapeCRLF=[true/false] show carriage return and line feeds in
query results as escaped \\r and \\n \n \
-\ --headerInterval=ROWS; the interval between which heades are
displayed\n \
-\ --fastConnect=[true/false] skip building table/column list for
tab-completion\n \
-\ --autoCommit=[true/false] enable/disable automatic transaction
commit\n \
-\ --verbose=[true/false] show verbose error messages and debug
info\n \
-\ --showWarnings=[true/false] display connection warnings\n \
-\ --showDbInPrompt=[true/false] display the current database name in the
prompt\n \
-\ --showNestedErrs=[true/false] display nested errors\n \
-\ --numberFormat=[pattern] format numbers using DecimalFormat
pattern\n \
-\ --force=[true/false] continue running script even after errors\n
\
-\ --maxWidth=MAXWIDTH the maximum width of the terminal\n \
-\ --maxColumnWidth=MAXCOLWIDTH the maximum width to use when displaying
columns\n \
-\ --silent=[true/false] be more silent\n \
-\ --autosave=[true/false] automatically save preferences\n \
-\ --outputformat=[table/vertical/csv2/tsv2/dsv/csv/tsv/json/jsonfile] format
mode for result display\n \
-\ Note that csv, and tsv are deprecated - use
csv2, tsv2 instead\n \
-\ --incremental=[true/false] Defaults to false. When set to false, the
entire result set\n \
-\ is fetched and buffered before being
displayed, yielding optimal\n \
-\ display column sizing. When set to true,
result rows are displayed\n \
-\ immediately as they are fetched, yielding
lower latency and\n \
-\ memory usage at the price of extra display
column padding.\n \
-\ Setting --incremental=true is recommended
if you encounter an OutOfMemory\n \
-\ on the client side (due to the fetched
result set size being large).\n \
-\ Only applicable if --outputformat=table.\n \
-\ --incrementalBufferRows=NUMROWS the number of rows to buffer when printing
rows on stdout,\n \
-\ defaults to 1000; only applicable if
--incremental=true\n \
-\ and --outputformat=table\n \
-\ --truncateTable=[true/false] truncate table column when it exceeds
length\n \
-\ --delimiterForDSV=DELIMITER specify the delimiter for
delimiter-separated values output format (default: |)\n \
-\ --isolation=LEVEL set the transaction isolation level\n \
-\ --nullemptystring=[true/false] set to true to get historic behavior of
printing null as empty string\n \
-\ --maxHistoryRows=MAXHISTORYROWS The maximum number of rows to store beeline
history.\n \
-\ --delimiter=DELIMITER set the query delimiter; multi-char
delimiters are allowed, but quotation\n \
-\ marks, slashes, and -- are not allowed;
defaults to ;\n \
-\ --convertBinaryArrayToString=[true/false] display binary column data as
string or as byte array \n \
-\ --help display this message\n \
+cmd-usage: Usage: kyuubi-beeline <options>. \n\n\
+Options:\n \
+\ -u <database url> The JDBC URL to connect to.\n \
Review Comment:
could you please keep the spaces? I don't see much benefit with extra two
spaces
##########
kyuubi-hive-beeline/src/main/java/org/apache/hive/beeline/KyuubiBeeLine.java:
##########
@@ -80,8 +80,6 @@ public KyuubiBeeLine(boolean isBeeLine) {
@Override
void usage() {
super.usage();
Review Comment:
we can eliminate this override then
##########
kyuubi-hive-beeline/src/main/resources/BeeLine.properties:
##########
@@ -154,73 +154,76 @@ hs2-unknown-connection-problem: Unknown HS2 problem when
communicating with Thri
hs2-unexpected-error: Unexpected HS2 error when communicating with the Thrift
server.
interrupt-ctrl-c: Interrupting... Please be patient this may take some time.
-
-cmd-usage: Usage: java org.apache.hive.cli.beeline.BeeLine \n \
-\ -u <database url> the JDBC URL to connect to\n \
-\ -c <named url> the named JDBC URL to connect to,\n \
-\ which should be present in
beeline-site.xml\n \
-\ as the value of
beeline.hs2.jdbc.url.<namedUrl>\n \
-\ -r reconnect to last saved connect url (in
conjunction with !save)\n \
-\ -n <username> the username to connect as\n \
-\ -p <password> the password to connect as\n \
-\ -d <driver class> the driver class to use\n \
-\ -i <init file> script file for initialization\n \
-\ -e <query> query that should be executed\n \
-\ -f <exec file> script file that should be executed\n \
-\ -w (or) --password-file <password file> the password file to read password
from\n \
-\ --hiveconf property=value Use value for given property\n \
-\ --hivevar name=value hive variable name and value\n \
-\ This is Hive specific settings in which
variables\n \
-\ can be set at session level and referenced
in Hive\n \
-\ commands or queries.\n \
-\ --property-file=<property-file> the file to read connection properties
(url, driver, user, password) from\n \
-\ --color=[true/false] control whether color is used for display\n
\
-\ --showHeader=[true/false] show column names in query results\n \
-\ --escapeCRLF=[true/false] show carriage return and line feeds in
query results as escaped \\r and \\n \n \
-\ --headerInterval=ROWS; the interval between which heades are
displayed\n \
-\ --fastConnect=[true/false] skip building table/column list for
tab-completion\n \
-\ --autoCommit=[true/false] enable/disable automatic transaction
commit\n \
-\ --verbose=[true/false] show verbose error messages and debug
info\n \
-\ --showWarnings=[true/false] display connection warnings\n \
-\ --showDbInPrompt=[true/false] display the current database name in the
prompt\n \
-\ --showNestedErrs=[true/false] display nested errors\n \
-\ --numberFormat=[pattern] format numbers using DecimalFormat
pattern\n \
-\ --force=[true/false] continue running script even after errors\n
\
-\ --maxWidth=MAXWIDTH the maximum width of the terminal\n \
-\ --maxColumnWidth=MAXCOLWIDTH the maximum width to use when displaying
columns\n \
-\ --silent=[true/false] be more silent\n \
-\ --autosave=[true/false] automatically save preferences\n \
-\ --outputformat=[table/vertical/csv2/tsv2/dsv/csv/tsv/json/jsonfile] format
mode for result display\n \
-\ Note that csv, and tsv are deprecated - use
csv2, tsv2 instead\n \
-\ --incremental=[true/false] Defaults to false. When set to false, the
entire result set\n \
-\ is fetched and buffered before being
displayed, yielding optimal\n \
-\ display column sizing. When set to true,
result rows are displayed\n \
-\ immediately as they are fetched, yielding
lower latency and\n \
-\ memory usage at the price of extra display
column padding.\n \
-\ Setting --incremental=true is recommended
if you encounter an OutOfMemory\n \
-\ on the client side (due to the fetched
result set size being large).\n \
-\ Only applicable if --outputformat=table.\n \
-\ --incrementalBufferRows=NUMROWS the number of rows to buffer when printing
rows on stdout,\n \
-\ defaults to 1000; only applicable if
--incremental=true\n \
-\ and --outputformat=table\n \
-\ --truncateTable=[true/false] truncate table column when it exceeds
length\n \
-\ --delimiterForDSV=DELIMITER specify the delimiter for
delimiter-separated values output format (default: |)\n \
-\ --isolation=LEVEL set the transaction isolation level\n \
-\ --nullemptystring=[true/false] set to true to get historic behavior of
printing null as empty string\n \
-\ --maxHistoryRows=MAXHISTORYROWS The maximum number of rows to store beeline
history.\n \
-\ --delimiter=DELIMITER set the query delimiter; multi-char
delimiters are allowed, but quotation\n \
-\ marks, slashes, and -- are not allowed;
defaults to ;\n \
-\ --convertBinaryArrayToString=[true/false] display binary column data as
string or as byte array \n \
-\ --help display this message\n \
+cmd-usage: Usage: kyuubi-beeline <options>. \n\n\
+Options:\n \
+\ -u <database url> The JDBC URL to connect to.\n \
+\ -c <named url> The named JDBC URL to connect to,\n \
+\ which should be present in
beeline-site.xml\n \
+\ as the value of
beeline.kyuubi.jdbc.url.<namedUrl>.\n\n \
+\ -r Reconnect to last saved connect url (in
conjunction with !save).\n \
+\ -n <username> The username to connect as.\n \
+\ -p <password> The password to connect as.\n \
+\ -d <driver class> The driver class to use.\n \
+\ -i <init file> Script file for initialization.\n \
+\ -e <query> Query that should be executed.\n \
+\ -f <exec file> Script file that should be executed.\n \
+\ -w, --password-file <file> The password file to read password
from.\n \
+\ --hiveconf property=value Use value for given property.\n \
+\ --hivevar name=value Hive variable name and value.\n \
+\ This is Hive specific settings in which
variables\n \
+\ can be set at session level and
referenced in Hive\n \
+\ commands or queries.\n\n \
+\ --property-file=<property-file> The file to read connection properties
(url, driver, user, password) from.\n \
+\ --color=[true|false] Control whether color is used for
display.\n \
+\ --showHeader=[true|false] Show column names in query results.\n \
+\ --escapeCRLF=[true|false] Show carriage return and line feeds in
query results as escaped \\r and \\n. \n \
+\ --headerInterval=ROWS; The interval between which heades are
displayed.\n \
+\ --fastConnect=[true|false] Skip building table/column list for
tab-completion.\n \
+\ --autoCommit=[true|false] Enable/disable automatic transaction
commit.\n \
+\ --verbose=[true|false] Show verbose error messages and debug
info.\n \
+\ --showWarnings=[true|false] Display connection warnings.\n \
+\ --showDbInPrompt=[true|false] Display the current database name in the
prompt.\n \
+\ --showNestedErrs=[true|false] Display nested errors.\n \
+\ --numberFormat=[pattern] Format numbers using DecimalFormat
pattern.\n \
+\ --force=[true|false] Continue running script even after
errors.\n \
+\ --maxWidth=MAXWIDTH The maximum width of the terminal.\n \
+\ --maxColumnWidth=MAXCOLWIDTH The maximum width to use when displaying
columns.\n \
+\ --silent=[true|false] Be more silent.\n \
+\ --autosave=[true|false] Automatically save preferences.\n \
+\ --outputformat=<format mode> Format mode for result display.\n \
+\ The available options ars
[table|vertical|csv2|tsv2|dsv|csv|tsv|json|jsonfile]. \n \
+\ Note that csv, and tsv are deprecated,
use csv2, tsv2 instead.\n\n \
+\ --incremental=[true|false] Defaults to false. When set to false, the
entire result set\n \
+\ is fetched and buffered before being
displayed, yielding optimal\n \
+\ display column sizing. When set to true,
result rows are displayed\n \
+\ immediately as they are fetched, yielding
lower latency and\n \
+\ memory usage at the price of extra
display column padding.\n \
+\ Setting --incremental=true is recommended
if you encounter an OutOfMemory\n \
+\ on the client side (due to the fetched
result set size being large).\n \
+\ Only applicable if
--outputformat=table.\n\n \
+\ --incrementalBufferRows=NUMROWS The number of rows to buffer when
printing rows on stdout,\n \
+\ defaults to 1000; only applicable if
--incremental=true\n \
+\ and --outputformat=table.\n\n \
+\ --truncateTable=[true|false] Truncate table column when it exceeds
length.\n \
+\ --delimiterForDSV=DELIMITER Specify the delimiter for
delimiter-separated values output format (default: |).\n \
+\ --isolation=LEVEL Set the transaction isolation level.\n \
+\ --nullemptystring=[true|false] Set to true to get historic behavior of
printing null as empty string.\n \
+\ --maxHistoryRows=MAXHISTORYROWS The maximum number of rows to store
beeline history.\n \
+\ --delimiter=DELIMITER Set the query delimiter; multi-char
delimiters are allowed, but quotation\n \
+\ marks, slashes, and -- are not allowed;
defaults to ;\n\n \
+\ --convertBinaryArrayToString=[true|false]\n \
+\ Display binary column data as string or
as byte array.\n\n \
+\ --python-mode Execute python code/script.\n \
+\ --help Display this message.\n \
\n \
\ Example:\n \
-\ 1. Connect using simple authentication to HiveServer2 on localhost:10000\n
\
-\ $ beeline -u jdbc:hive2://localhost:10000 username password\n\n \
-\ 2. Connect using simple authentication to HiveServer2 on hs.local:10000
using -n for username and -p for password\n \
-\ $ beeline -n username -p password -u jdbc:hive2://hs2.local:10012\n\n \
-\ 3. Connect using Kerberos authentication with hive/[email protected]
as HiveServer2 principal\n \
-\ $ beeline -u
"jdbc:hive2://hs2.local:10013/default;principal=hive/[email protected]"\n\n
\
-\ 4. Connect using SSL connection to HiveServer2 on localhost at 10000\n \
-\ $ beeline
"jdbc:hive2://localhost:10000/default;ssl=true;sslTrustStore=/usr/local/truststore;trustStorePassword=mytruststorepassword"\n\n
\
+\ 1. Connect using simple authentication to KyuubiServer on
localhost:10009\n \
+\ $ kyuubi-beeline -u jdbc:kyuubi://localhost:10009 username password\n\n \
+\ 2. Connect using simple authentication to KyuubiServer on
kyuubi.local:10009 using -n for username and -p for password\n \
+\ $ kyuubi-beeline -n username -p password -u
jdbc:kyuubi://kyuubi.local:10009\n\n \
+\ 3. Connect using Kerberos authentication with hive/[email protected]
as KyuubiServer principal\n \
+\ $ kyuubi-beeline -u
"jdbc:kyuubi://kyuubi.local:10009/default;principal=hive/[email protected]"\n\n
\
+\ 4. Connect using SSL connection to KyuubiServer on localhost at 10009\n \
+\ $ kyuubi-beeline
"jdbc:kyuubi://localhost:10009/default;ssl=true;sslTrustStore=/usr/local/truststore;trustStorePassword=mytruststorepassword"\n\n
\
\ 5. Connect using LDAP authentication\n \
-\ $ beeline -u jdbc:hive2://hs2.local:10013/default <ldap-username>
<ldap-password>\n \
Review Comment:
I remember this example does not work (I haven't verified it by myself)
https://issues.apache.org/jira/browse/HIVE-21239
##########
kyuubi-hive-beeline/src/main/resources/BeeLine.properties:
##########
@@ -154,73 +154,76 @@ hs2-unknown-connection-problem: Unknown HS2 problem when
communicating with Thri
hs2-unexpected-error: Unexpected HS2 error when communicating with the Thrift
server.
interrupt-ctrl-c: Interrupting... Please be patient this may take some time.
-
-cmd-usage: Usage: java org.apache.hive.cli.beeline.BeeLine \n \
-\ -u <database url> the JDBC URL to connect to\n \
-\ -c <named url> the named JDBC URL to connect to,\n \
-\ which should be present in
beeline-site.xml\n \
-\ as the value of
beeline.hs2.jdbc.url.<namedUrl>\n \
-\ -r reconnect to last saved connect url (in
conjunction with !save)\n \
-\ -n <username> the username to connect as\n \
-\ -p <password> the password to connect as\n \
-\ -d <driver class> the driver class to use\n \
-\ -i <init file> script file for initialization\n \
-\ -e <query> query that should be executed\n \
-\ -f <exec file> script file that should be executed\n \
-\ -w (or) --password-file <password file> the password file to read password
from\n \
-\ --hiveconf property=value Use value for given property\n \
-\ --hivevar name=value hive variable name and value\n \
-\ This is Hive specific settings in which
variables\n \
-\ can be set at session level and referenced
in Hive\n \
-\ commands or queries.\n \
-\ --property-file=<property-file> the file to read connection properties
(url, driver, user, password) from\n \
-\ --color=[true/false] control whether color is used for display\n
\
-\ --showHeader=[true/false] show column names in query results\n \
-\ --escapeCRLF=[true/false] show carriage return and line feeds in
query results as escaped \\r and \\n \n \
-\ --headerInterval=ROWS; the interval between which heades are
displayed\n \
-\ --fastConnect=[true/false] skip building table/column list for
tab-completion\n \
-\ --autoCommit=[true/false] enable/disable automatic transaction
commit\n \
-\ --verbose=[true/false] show verbose error messages and debug
info\n \
-\ --showWarnings=[true/false] display connection warnings\n \
-\ --showDbInPrompt=[true/false] display the current database name in the
prompt\n \
-\ --showNestedErrs=[true/false] display nested errors\n \
-\ --numberFormat=[pattern] format numbers using DecimalFormat
pattern\n \
-\ --force=[true/false] continue running script even after errors\n
\
-\ --maxWidth=MAXWIDTH the maximum width of the terminal\n \
-\ --maxColumnWidth=MAXCOLWIDTH the maximum width to use when displaying
columns\n \
-\ --silent=[true/false] be more silent\n \
-\ --autosave=[true/false] automatically save preferences\n \
-\ --outputformat=[table/vertical/csv2/tsv2/dsv/csv/tsv/json/jsonfile] format
mode for result display\n \
-\ Note that csv, and tsv are deprecated - use
csv2, tsv2 instead\n \
-\ --incremental=[true/false] Defaults to false. When set to false, the
entire result set\n \
-\ is fetched and buffered before being
displayed, yielding optimal\n \
-\ display column sizing. When set to true,
result rows are displayed\n \
-\ immediately as they are fetched, yielding
lower latency and\n \
-\ memory usage at the price of extra display
column padding.\n \
-\ Setting --incremental=true is recommended
if you encounter an OutOfMemory\n \
-\ on the client side (due to the fetched
result set size being large).\n \
-\ Only applicable if --outputformat=table.\n \
-\ --incrementalBufferRows=NUMROWS the number of rows to buffer when printing
rows on stdout,\n \
-\ defaults to 1000; only applicable if
--incremental=true\n \
-\ and --outputformat=table\n \
-\ --truncateTable=[true/false] truncate table column when it exceeds
length\n \
-\ --delimiterForDSV=DELIMITER specify the delimiter for
delimiter-separated values output format (default: |)\n \
-\ --isolation=LEVEL set the transaction isolation level\n \
-\ --nullemptystring=[true/false] set to true to get historic behavior of
printing null as empty string\n \
-\ --maxHistoryRows=MAXHISTORYROWS The maximum number of rows to store beeline
history.\n \
-\ --delimiter=DELIMITER set the query delimiter; multi-char
delimiters are allowed, but quotation\n \
-\ marks, slashes, and -- are not allowed;
defaults to ;\n \
-\ --convertBinaryArrayToString=[true/false] display binary column data as
string or as byte array \n \
-\ --help display this message\n \
+cmd-usage: Usage: kyuubi-beeline <options>. \n\n\
+Options:\n \
+\ -u <database url> The JDBC URL to connect to.\n \
+\ -c <named url> The named JDBC URL to connect to,\n \
+\ which should be present in
beeline-site.xml\n \
+\ as the value of
beeline.kyuubi.jdbc.url.<namedUrl>.\n\n \
+\ -r Reconnect to last saved connect url (in
conjunction with !save).\n \
+\ -n <username> The username to connect as.\n \
+\ -p <password> The password to connect as.\n \
+\ -d <driver class> The driver class to use.\n \
+\ -i <init file> Script file for initialization.\n \
+\ -e <query> Query that should be executed.\n \
+\ -f <exec file> Script file that should be executed.\n \
+\ -w, --password-file <file> The password file to read password
from.\n \
+\ --hiveconf property=value Use value for given property.\n \
+\ --hivevar name=value Hive variable name and value.\n \
+\ This is Hive specific settings in which
variables\n \
+\ can be set at session level and
referenced in Hive\n \
+\ commands or queries.\n\n \
+\ --property-file=<property-file> The file to read connection properties
(url, driver, user, password) from.\n \
+\ --color=[true|false] Control whether color is used for
display.\n \
+\ --showHeader=[true|false] Show column names in query results.\n \
+\ --escapeCRLF=[true|false] Show carriage return and line feeds in
query results as escaped \\r and \\n. \n \
+\ --headerInterval=ROWS; The interval between which heades are
displayed.\n \
+\ --fastConnect=[true|false] Skip building table/column list for
tab-completion.\n \
+\ --autoCommit=[true|false] Enable/disable automatic transaction
commit.\n \
+\ --verbose=[true|false] Show verbose error messages and debug
info.\n \
+\ --showWarnings=[true|false] Display connection warnings.\n \
+\ --showDbInPrompt=[true|false] Display the current database name in the
prompt.\n \
+\ --showNestedErrs=[true|false] Display nested errors.\n \
+\ --numberFormat=[pattern] Format numbers using DecimalFormat
pattern.\n \
+\ --force=[true|false] Continue running script even after
errors.\n \
+\ --maxWidth=MAXWIDTH The maximum width of the terminal.\n \
+\ --maxColumnWidth=MAXCOLWIDTH The maximum width to use when displaying
columns.\n \
+\ --silent=[true|false] Be more silent.\n \
+\ --autosave=[true|false] Automatically save preferences.\n \
+\ --outputformat=<format mode> Format mode for result display.\n \
+\ The available options ars
[table|vertical|csv2|tsv2|dsv|csv|tsv|json|jsonfile]. \n \
+\ Note that csv, and tsv are deprecated,
use csv2, tsv2 instead.\n\n \
+\ --incremental=[true|false] Defaults to false. When set to false, the
entire result set\n \
+\ is fetched and buffered before being
displayed, yielding optimal\n \
+\ display column sizing. When set to true,
result rows are displayed\n \
+\ immediately as they are fetched, yielding
lower latency and\n \
+\ memory usage at the price of extra
display column padding.\n \
+\ Setting --incremental=true is recommended
if you encounter an OutOfMemory\n \
+\ on the client side (due to the fetched
result set size being large).\n \
+\ Only applicable if
--outputformat=table.\n\n \
+\ --incrementalBufferRows=NUMROWS The number of rows to buffer when
printing rows on stdout,\n \
+\ defaults to 1000; only applicable if
--incremental=true\n \
+\ and --outputformat=table.\n\n \
+\ --truncateTable=[true|false] Truncate table column when it exceeds
length.\n \
+\ --delimiterForDSV=DELIMITER Specify the delimiter for
delimiter-separated values output format (default: |).\n \
+\ --isolation=LEVEL Set the transaction isolation level.\n \
+\ --nullemptystring=[true|false] Set to true to get historic behavior of
printing null as empty string.\n \
+\ --maxHistoryRows=MAXHISTORYROWS The maximum number of rows to store
beeline history.\n \
+\ --delimiter=DELIMITER Set the query delimiter; multi-char
delimiters are allowed, but quotation\n \
+\ marks, slashes, and -- are not allowed;
defaults to ;\n\n \
+\ --convertBinaryArrayToString=[true|false]\n \
+\ Display binary column data as string or
as byte array.\n\n \
+\ --python-mode Execute python code/script.\n \
+\ --help Display this message.\n \
\n \
\ Example:\n \
-\ 1. Connect using simple authentication to HiveServer2 on localhost:10000\n
\
-\ $ beeline -u jdbc:hive2://localhost:10000 username password\n\n \
-\ 2. Connect using simple authentication to HiveServer2 on hs.local:10000
using -n for username and -p for password\n \
-\ $ beeline -n username -p password -u jdbc:hive2://hs2.local:10012\n\n \
-\ 3. Connect using Kerberos authentication with hive/[email protected]
as HiveServer2 principal\n \
-\ $ beeline -u
"jdbc:hive2://hs2.local:10013/default;principal=hive/[email protected]"\n\n
\
-\ 4. Connect using SSL connection to HiveServer2 on localhost at 10000\n \
-\ $ beeline
"jdbc:hive2://localhost:10000/default;ssl=true;sslTrustStore=/usr/local/truststore;trustStorePassword=mytruststorepassword"\n\n
\
+\ 1. Connect using simple authentication to KyuubiServer on
localhost:10009\n \
+\ $ kyuubi-beeline -u jdbc:kyuubi://localhost:10009 username password\n\n \
+\ 2. Connect using simple authentication to KyuubiServer on
kyuubi.local:10009 using -n for username and -p for password\n \
+\ $ kyuubi-beeline -n username -p password -u
jdbc:kyuubi://kyuubi.local:10009\n\n \
+\ 3. Connect using Kerberos authentication with hive/[email protected]
as KyuubiServer principal\n \
+\ $ kyuubi-beeline -u
"jdbc:kyuubi://kyuubi.local:10009/default;principal=hive/[email protected]"\n\n
\
Review Comment:
actually, the `principal` is a confusing name, I see lots of users new to
kerberos think it is the client principal name. we made some improvements on
Kyuubi JDBC driver on this area, see
https://kyuubi.readthedocs.io/en/master/client/jdbc/kyuubi_jdbc.html
```suggestion
\ 3. Connect using Kerberos authentication with
`kyuubi/[email protected]` as KyuubiServer principal (kinit is required
before connection)\n \
\ $ kyuubi-beeline -u
"jdbc:kyuubi://kyuubi.local:10009/default;kyuubiServerPrincipal=kyuubi/[email protected]"\n\n
\
```
And Kyuubi also supports using keytab for Kerberos authentication directly
(without required to perform kinit to generate TGT cache)
```
kyuubi-beeline -u
"jdbc:kyuubi://kyuubi.local:10009/default;[email protected];kyuubiClientKeytab=/local/path/client.keytab;kyuubiServerPrincipal=kyuubi/[email protected]"
```
##########
kyuubi-hive-beeline/src/main/resources/BeeLine.properties:
##########
@@ -154,73 +154,76 @@ hs2-unknown-connection-problem: Unknown HS2 problem when
communicating with Thri
hs2-unexpected-error: Unexpected HS2 error when communicating with the Thrift
server.
interrupt-ctrl-c: Interrupting... Please be patient this may take some time.
-
-cmd-usage: Usage: java org.apache.hive.cli.beeline.BeeLine \n \
-\ -u <database url> the JDBC URL to connect to\n \
-\ -c <named url> the named JDBC URL to connect to,\n \
-\ which should be present in
beeline-site.xml\n \
-\ as the value of
beeline.hs2.jdbc.url.<namedUrl>\n \
-\ -r reconnect to last saved connect url (in
conjunction with !save)\n \
-\ -n <username> the username to connect as\n \
-\ -p <password> the password to connect as\n \
-\ -d <driver class> the driver class to use\n \
-\ -i <init file> script file for initialization\n \
-\ -e <query> query that should be executed\n \
-\ -f <exec file> script file that should be executed\n \
-\ -w (or) --password-file <password file> the password file to read password
from\n \
-\ --hiveconf property=value Use value for given property\n \
-\ --hivevar name=value hive variable name and value\n \
-\ This is Hive specific settings in which
variables\n \
-\ can be set at session level and referenced
in Hive\n \
-\ commands or queries.\n \
-\ --property-file=<property-file> the file to read connection properties
(url, driver, user, password) from\n \
-\ --color=[true/false] control whether color is used for display\n
\
-\ --showHeader=[true/false] show column names in query results\n \
-\ --escapeCRLF=[true/false] show carriage return and line feeds in
query results as escaped \\r and \\n \n \
-\ --headerInterval=ROWS; the interval between which heades are
displayed\n \
-\ --fastConnect=[true/false] skip building table/column list for
tab-completion\n \
-\ --autoCommit=[true/false] enable/disable automatic transaction
commit\n \
-\ --verbose=[true/false] show verbose error messages and debug
info\n \
-\ --showWarnings=[true/false] display connection warnings\n \
-\ --showDbInPrompt=[true/false] display the current database name in the
prompt\n \
-\ --showNestedErrs=[true/false] display nested errors\n \
-\ --numberFormat=[pattern] format numbers using DecimalFormat
pattern\n \
-\ --force=[true/false] continue running script even after errors\n
\
-\ --maxWidth=MAXWIDTH the maximum width of the terminal\n \
-\ --maxColumnWidth=MAXCOLWIDTH the maximum width to use when displaying
columns\n \
-\ --silent=[true/false] be more silent\n \
-\ --autosave=[true/false] automatically save preferences\n \
-\ --outputformat=[table/vertical/csv2/tsv2/dsv/csv/tsv/json/jsonfile] format
mode for result display\n \
-\ Note that csv, and tsv are deprecated - use
csv2, tsv2 instead\n \
-\ --incremental=[true/false] Defaults to false. When set to false, the
entire result set\n \
-\ is fetched and buffered before being
displayed, yielding optimal\n \
-\ display column sizing. When set to true,
result rows are displayed\n \
-\ immediately as they are fetched, yielding
lower latency and\n \
-\ memory usage at the price of extra display
column padding.\n \
-\ Setting --incremental=true is recommended
if you encounter an OutOfMemory\n \
-\ on the client side (due to the fetched
result set size being large).\n \
-\ Only applicable if --outputformat=table.\n \
-\ --incrementalBufferRows=NUMROWS the number of rows to buffer when printing
rows on stdout,\n \
-\ defaults to 1000; only applicable if
--incremental=true\n \
-\ and --outputformat=table\n \
-\ --truncateTable=[true/false] truncate table column when it exceeds
length\n \
-\ --delimiterForDSV=DELIMITER specify the delimiter for
delimiter-separated values output format (default: |)\n \
-\ --isolation=LEVEL set the transaction isolation level\n \
-\ --nullemptystring=[true/false] set to true to get historic behavior of
printing null as empty string\n \
-\ --maxHistoryRows=MAXHISTORYROWS The maximum number of rows to store beeline
history.\n \
-\ --delimiter=DELIMITER set the query delimiter; multi-char
delimiters are allowed, but quotation\n \
-\ marks, slashes, and -- are not allowed;
defaults to ;\n \
-\ --convertBinaryArrayToString=[true/false] display binary column data as
string or as byte array \n \
-\ --help display this message\n \
+cmd-usage: Usage: kyuubi-beeline <options>. \n\n\
+Options:\n \
+\ -u <database url> The JDBC URL to connect to.\n \
+\ -c <named url> The named JDBC URL to connect to,\n \
+\ which should be present in
beeline-site.xml\n \
+\ as the value of
beeline.kyuubi.jdbc.url.<namedUrl>.\n\n \
+\ -r Reconnect to last saved connect url (in
conjunction with !save).\n \
+\ -n <username> The username to connect as.\n \
+\ -p <password> The password to connect as.\n \
+\ -d <driver class> The driver class to use.\n \
+\ -i <init file> Script file for initialization.\n \
+\ -e <query> Query that should be executed.\n \
+\ -f <exec file> Script file that should be executed.\n \
+\ -w, --password-file <file> The password file to read password
from.\n \
+\ --hiveconf property=value Use value for given property.\n \
+\ --hivevar name=value Hive variable name and value.\n \
+\ This is Hive specific settings in which
variables\n \
+\ can be set at session level and
referenced in Hive\n \
+\ commands or queries.\n\n \
+\ --property-file=<property-file> The file to read connection properties
(url, driver, user, password) from.\n \
+\ --color=[true|false] Control whether color is used for
display.\n \
+\ --showHeader=[true|false] Show column names in query results.\n \
+\ --escapeCRLF=[true|false] Show carriage return and line feeds in
query results as escaped \\r and \\n. \n \
+\ --headerInterval=ROWS; The interval between which heades are
displayed.\n \
+\ --fastConnect=[true|false] Skip building table/column list for
tab-completion.\n \
+\ --autoCommit=[true|false] Enable/disable automatic transaction
commit.\n \
+\ --verbose=[true|false] Show verbose error messages and debug
info.\n \
+\ --showWarnings=[true|false] Display connection warnings.\n \
+\ --showDbInPrompt=[true|false] Display the current database name in the
prompt.\n \
+\ --showNestedErrs=[true|false] Display nested errors.\n \
+\ --numberFormat=[pattern] Format numbers using DecimalFormat
pattern.\n \
+\ --force=[true|false] Continue running script even after
errors.\n \
+\ --maxWidth=MAXWIDTH The maximum width of the terminal.\n \
+\ --maxColumnWidth=MAXCOLWIDTH The maximum width to use when displaying
columns.\n \
+\ --silent=[true|false] Be more silent.\n \
+\ --autosave=[true|false] Automatically save preferences.\n \
+\ --outputformat=<format mode> Format mode for result display.\n \
+\ The available options ars
[table|vertical|csv2|tsv2|dsv|csv|tsv|json|jsonfile]. \n \
+\ Note that csv, and tsv are deprecated,
use csv2, tsv2 instead.\n\n \
+\ --incremental=[true|false] Defaults to false. When set to false, the
entire result set\n \
+\ is fetched and buffered before being
displayed, yielding optimal\n \
+\ display column sizing. When set to true,
result rows are displayed\n \
+\ immediately as they are fetched, yielding
lower latency and\n \
+\ memory usage at the price of extra
display column padding.\n \
+\ Setting --incremental=true is recommended
if you encounter an OutOfMemory\n \
+\ on the client side (due to the fetched
result set size being large).\n \
+\ Only applicable if
--outputformat=table.\n\n \
+\ --incrementalBufferRows=NUMROWS The number of rows to buffer when
printing rows on stdout,\n \
+\ defaults to 1000; only applicable if
--incremental=true\n \
+\ and --outputformat=table.\n\n \
+\ --truncateTable=[true|false] Truncate table column when it exceeds
length.\n \
+\ --delimiterForDSV=DELIMITER Specify the delimiter for
delimiter-separated values output format (default: |).\n \
+\ --isolation=LEVEL Set the transaction isolation level.\n \
+\ --nullemptystring=[true|false] Set to true to get historic behavior of
printing null as empty string.\n \
+\ --maxHistoryRows=MAXHISTORYROWS The maximum number of rows to store
beeline history.\n \
+\ --delimiter=DELIMITER Set the query delimiter; multi-char
delimiters are allowed, but quotation\n \
+\ marks, slashes, and -- are not allowed;
defaults to ;\n\n \
+\ --convertBinaryArrayToString=[true|false]\n \
+\ Display binary column data as string or
as byte array.\n\n \
+\ --python-mode Execute python code/script.\n \
+\ --help Display this message.\n \
\n \
\ Example:\n \
-\ 1. Connect using simple authentication to HiveServer2 on localhost:10000\n
\
-\ $ beeline -u jdbc:hive2://localhost:10000 username password\n\n \
-\ 2. Connect using simple authentication to HiveServer2 on hs.local:10000
using -n for username and -p for password\n \
-\ $ beeline -n username -p password -u jdbc:hive2://hs2.local:10012\n\n \
-\ 3. Connect using Kerberos authentication with hive/[email protected]
as HiveServer2 principal\n \
-\ $ beeline -u
"jdbc:hive2://hs2.local:10013/default;principal=hive/[email protected]"\n\n
\
-\ 4. Connect using SSL connection to HiveServer2 on localhost at 10000\n \
-\ $ beeline
"jdbc:hive2://localhost:10000/default;ssl=true;sslTrustStore=/usr/local/truststore;trustStorePassword=mytruststorepassword"\n\n
\
+\ 1. Connect using simple authentication to KyuubiServer on
localhost:10009\n \
+\ $ kyuubi-beeline -u jdbc:kyuubi://localhost:10009 username password\n\n \
+\ 2. Connect using simple authentication to KyuubiServer on
kyuubi.local:10009 using -n for username and -p for password\n \
+\ $ kyuubi-beeline -n username -p password -u
jdbc:kyuubi://kyuubi.local:10009\n\n \
+\ 3. Connect using Kerberos authentication with hive/[email protected]
as KyuubiServer principal\n \
+\ $ kyuubi-beeline -u
"jdbc:kyuubi://kyuubi.local:10009/default;principal=hive/[email protected]"\n\n
\
+\ 4. Connect using SSL connection to KyuubiServer on localhost at 10009\n \
+\ $ kyuubi-beeline
"jdbc:kyuubi://localhost:10009/default;ssl=true;sslTrustStore=/usr/local/truststore;trustStorePassword=mytruststorepassword"\n\n
\
Review Comment:
can we add an example for zookeeper HA cases?
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]