我试图将我的蜂巢表导出为直线蜂巢中的csv.当我运行该命令时,!sql select * from database1 > /user/bob/output.csv
它给我语法错误.
我已使用下面的命令成功连接到数据库.查询在控制台上输出正确的结果.
beeline -u 'jdbc:hive2://[databaseaddress]' --outputformat=csv
Run Code Online (Sandbox Code Playgroud)
此外,不清楚文件的最终位置.它应该是hdfs中的文件路径正确吗?
我正在尝试通过Beeline客户端连接到我的机器上安装的配置单元.当我给'beeline'命令并连接到Hive时,客户端要求输入用户名和密码
!connect jdbc:hive2://localhost:10000/default
Run Code Online (Sandbox Code Playgroud)
我不知道我应该给出的用户名和密码是什么.我是否必须在某些配置文件中添加凭据(用户名和密码)?
我正在使用CDH 5.5,需要使用beeline.我是新手,现在就学习它.我可以开始直线但不能像我们在Hive那样放弃.我需要使用Ctrl + z退出,这不是正确的方法.有人可以帮忙吗?
在Hive实例中包含一些数据库和表.我想显示一些特定数据库的表(比方说3_db).
+------------------+--+
| database_name |
+------------------+--+
| 1_db |
| 2_db |
| 3_db |
+------------------+--+
Run Code Online (Sandbox Code Playgroud)
如果我从bash进入beeline - 那里没什么复杂的,我只是做以下事情:
show databases;
show tables from 3_db;
Run Code Online (Sandbox Code Playgroud)
当我通过ipython notebeook使用pyspark时 - 我的廉价技巧在那里不起作用并在第二行(显示来自3_db的表)给我错误:
sqlContext.sql('show databases').show()
sqlContext.sql('show tables from 3_db').show()
Run Code Online (Sandbox Code Playgroud)
什么似乎是错的,为什么相同的代码在一个地方工作而在另一个地方不起作用?
我写了一个spark作业,它注册了一个临时表,当我通过beeline公开它时(JDBC客户端)
$ ./bin/beeline
beeline> !connect jdbc:hive2://IP:10003 -n ram -p xxxx
0: jdbc:hive2://IP> show tables;
+---------------------------------------------+--------------+---------------------+
| tableName | isTemporary |
+---------------------------------------------+--------------+---------------------+
| f238 | true |
+---------------------------------------------+--------------+---------------------+
2 rows selected (0.309 seconds)
0: jdbc:hive2://IP>
Run Code Online (Sandbox Code Playgroud)
我可以查看表格.查询时我收到此错误消息
0: jdbc:hive2://IP> select * from f238;
Error: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: ram is not allowed to impersonate ram (state=,code=0)
0: jdbc:hive2://IP>
Run Code Online (Sandbox Code Playgroud)
我在hive-site.xml中有这个,
<property>
<name>hive.metastore.sasl.enabled</name>
<value>false</value>
<description>If true, the metastore Thrift interface will be secured with SASL. Clients must authenticate with Kerberos.</description>
</property>
<property>
<name>hive.server2.enable.doAs</name>
<value>false</value>
</property>
<property> …
Run Code Online (Sandbox Code Playgroud) 我们知道set命令用于设置属性的某些值
hive> SET hive.exec.dynamic.partition=true;
hive> SET hive.exec.dynamic.partition.mode=non-strict;
Run Code Online (Sandbox Code Playgroud)
但是我们如何读取上述属性的当前值
我尝试了以下命令,它不起作用
get hive.exec.dynamic.partition
show hive.exec.dynamic.partition
Run Code Online (Sandbox Code Playgroud)
有人可以帮助获取正确的hive命令来读取上述属性的当前值.
我在Mac OSX机器上,我想在CentOS 6.6机器上对Hadoop数据库运行查询.我可以登录CentOS机器并在那里运行配置单元查询.但我需要能够从我的机器运行查询来解决连接问题.
有没有办法在OSX上安装Beeline(较新版本的Hive CLI)或Hive而无需安装/配置Hadoop?我见过的信息说你需要先安装Hadoop,这似乎有点过分,只是为了测试远程数据库是否正在监听连接.
在beeline中使用hive时使用简单select
查询我想在列名中返回没有表名的表作为默认值.
关于简单表(TutorialsPoint)的示例:
CREATE TABLE IF NOT EXISTS employee ( eid int, name String,
salary String, destination String)
COMMENT 'Employee details'
ROW FORMAT DELIMITED
FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n'
STORED AS TEXTFILE;
Run Code Online (Sandbox Code Playgroud)
该SELECT
查询返回:
SELECT * FROM employee;
+---------------+----------------+------------------+-----------------------+--+
| employee.eid | employee.name | employee.salary | employee.destination |
+---------------+----------------+------------------+-----------------------+--+
+---------------+----------------+------------------+-----------------------+--+
Run Code Online (Sandbox Code Playgroud)
使用以下方法可以获得所需的结果AS
:
SELECT eid AS eid, name AS name, salary AS salary,
destination AS destination FROM employee; …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用beeline连接到hive !connect jdbc:hive2://localhost:10000
,我被要求输入用户名和密码
Connecting to jdbc:hive2://localhost:10000'
Enter username for jdbc:hive2://localhost:10000:
Enter password for jdbc:hive2://localhost:10000:
因为我不知道我应该输入什么用户名或密码我将它留空导致错误:Error: Failed to open new session: java.lang.RuntimeException: org.apache.hadoop.ipc.RemoteException(org.apache.hadoop.security.authorize.AuthorizationException): User: root is not allowed to impersonate anonymous (state=,code=0)
我的设置是ubuntu中的单个节点hadoop集群.我可以确认服务已启动并运行,包括hadoop和hiveserver2
问题是,这些用户名和密码是什么,我被问到,在哪里可以找到它们或设置它们?
提前致谢
我的脚本执行简单的工作,从文件运行 SQL 并保存到 CSV。
代码已启动并正在运行,但在生成 CSV 输出时出现奇怪的行为。数据从第 70 行左右开始,而不是从 CSV 文件的最开始处开始。
#!/bin/bash beeline -u jdbc:hive2:default -n -p --silent=true --outputformat=csv2 -f code.sql > file_date+`%Y%m%d%H%M%`.csv
我希望我的数据从实际数据的第一行开始。
1 空白;空白;空白 2 空白;空白;空白 3 空白;空白;空白 4 属性;属性;属性 5 数据;数据;数据 6 数据;数据;数据 7 数据;数据;数据 8 数据;数据;数据 9 数据;数据;数据