下面是我的hive/conf/hive-site.xml:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://127.0.0.1/metastore?createDatabaseIfNotExist=true</value>
<description>metadata is stored in a MySQL server</desc
我试图让我的外部mysql被用作Ambari的母公司转移点。以下是我遵循的步骤 - Started a HDInsight in Azure
- create a mysql database
- create a database 'metastore' and a user 'hive' in mysql
- source 'Ambari-DDL-AzureDB-CREATE.sql' to create schema in metastore db
- changed the mysql connection in hive config
这是我们的设置-我们有一个配置单元,它使用另一台计算机上的MySQL作为中间存储。我可以启动Hive命令行shell并创建一个表并对其进行描述。但是,当我登录到另一台使用MySQL作为转储存储的计算机时,我无法在MySQL上看到配置单元表的详细信息。
例如,这里有hive命令-
hive> create table student(name STRING, id INT);
OK
Time taken: 7.464 seconds
hive> describe student;
OK
name string
id int
Time taken: 0.408 seco
我试图通过mysql数据库中的sqoop将数据加载到已存在的hive表中。我指的是以下指南,以供参考:-
--hive-import已经成功地进行了试验和测试。
我创建了一个蜂巢表如下:-
create table sqoophive (id int, name string, location string) row format delimited fields terminated by '\t' lines terminated by '\n' stored as textfile;
按要求加载数据。
我想使用--hive-overwrit
我有一些使用MySQL的经验,最近我不得不做一些关于HIVE的工作。
这两个查询的基本结构非常相似,但HIVE中的GROUP BY似乎有一点不同……因此,我无法实现以前使用GROUP BY在MySQL中实现的功能。
下面是我的问题,假设我有一个包含A、B、C列的表,我想选择具有max的行。B列值按A列分组。我将执行以下操作:
SELECT A, max(B) FROM myTable GROUP BY A
上面的代码可以在HIVE中运行,没有问题。但是,如果我还想查看列C中的值,它与max在同一行中,该怎么办?B值?在MySQL中,我可以这样做:
SELECT A, max(B), C FRO