hive配置

环境变量:

vi /etc/profile

 

HIVE_HOME=/usr/bigdata/hive-2.0.1

PATH=$PATH:$HIVE_HOME/bin

 

5,初始化数据库

schematool -initSchema -dbType derby

出现以下几行说明初始化成功:

Starting metastore schema

initialization to 2.0.0

Initialization script hive-schema-2.0.0.derby.sql

Initialization script completed

schemaTool completed

 

6,

启动程序

mkdir -p /usr/bigdata/hive-2.0.1/warehouse

chmod a+rwx /usr/bigdata/hive-2.0.1/warehouse

hive

 

如果出现hive>提示符则说明启动成功

 

 

5. 常见错误

5.1 运行hive时出现

Exception in thread "main" java.lang.RuntimeException: Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType ...) to create the schema. If needed, don't forget to include the option to auto-create the underlying database in your JDBC connection string (e.g. ?createDatabaseIfNotExist=true for mysql)

错误原因:  数据库没有初始化,请参照4.2

5.2 使用schematool初始化数据库时出现

Initialization script hive-schema-2.0.0.derby.sql
Error: FUNCTION 'NUCLEUS_ASCII' already exists. (state=X0Y68,code=30000) org.apache.hadoop.hive.metastore.HiveMetaException: Schema initialization FAILED! Metastore state would be inconsistent !! *** schemaTool failed ***

错误原因:数据库文件夹中已经存在一些文件,解决方法就是清空数据库文件夹(也就是前面配置的/opt/hive-2.0.0/metastore_db文件夹)

 

 

 

 

 

HIVE基本使用:

http://blog.csdn.net/f328310543/article/details/42682685

 

 

 

 

 

 

1
2
3
4
5
6
7
8
9
hive-env.xml
 
cp  hive-env.sh.template  hive-env.sh
 
$HIVE_HOME/bin的hive-env.sh,增加以下四行
 
export HADOOP_HOME=/usr/local/hadoop-2.6.0
export HIVE_HOME=/usr/local/hive-1.2.1
export JAVA_HOME=/usr/local/jdk1.7.0_80

  

拷贝mysql链接驱动到 hive/lib下面 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
HIVE 元数据mysql保存配置 hive-site.xml
 
 
 
      <property>
           <name>hive.metastore.warehouse.dir</name>
           <value>/usr/bigdata/hive- 2.0 . 1 /warehouse</value>
           <description>location of  default  database  for  the warehouse</description>
           </property>
 
      <property>
           <name>javax.jdo.option.ConnectionURL</name>
           <value>jdbc:mysql: //localhost:3306/hive?createDatabaseIfNotExist=true</value>
           <description>JDBC connect string  for  a JDBC metastore</description>
      </property>
 
      <property>
         <name>javax.jdo.option.ConnectionDriverName</name>
         <value>com.mysql.jdbc.Driver</value>
      </property>
 
      <property>
         <name>javax.jdo.option.ConnectionUserName</name>
         <value>root</value><!-- In my  case  UserName is hadoop-->
      </property>
 
      <property>
         <name>javax.jdo.option.ConnectionPassword</name>
         <value>root</value><!-- In my  case  password is hadoop-->
      </property><br><br><br>
修改的配置的内容如下
    <property>
        <name>datanucleus.readOnlyDatastore</name>
        <value>false</value>
    </property>
    <property> 
        <name>datanucleus.fixedDatastore</name>
        <value>false</value> 
    </property>
 
加入以下:
    <property> 
        <name>datanucleus.autoCreateSchema</name> 
        <value>true</value> 
    </property>
    <property>
        <name>datanucleus.autoCreateTables</name>
        <value>true</value>
    </property>
    <property>
        <name>datanucleus.autoCreateColumns</name>
        <value>true</value>
    </property>
    
1
<br><br><br><br>

   启动hive服务:

hive --service metastore &

hive --service hiveserver &

高版本用:

hive --service hiveserver2 &

要在 Spark SQL 使用 Hive,您需要进行以下配置: 1. 在 Spark 配置启用 Hive 支持。在 Spark 的配置文件(如 spark-defaults.conf 或 spark-env.sh),添加以下配置: ```shell spark.sql.catalogImplementation=hive ``` 2. 确保您的 Spark 安装与 Hive 版本兼容。Spark 需要与 Hive 使用相同版本的 Metastore。 3. 将 Hive配置文件 hive-site.xml 复制到 Spark 的配置目录。这将确保 Spark 使用正确的 Hive 配置。 4. 如果您的 Hive 安装使用了远程 Metastore,需要在 Spark 配置设置 Metastore 的连接信息。在 Spark 的配置文件添加以下配置: ```shell spark.hadoop.javax.jdo.option.ConnectionURL=jdbc:mysql://<metastore-host>:<metastore-port>/<database-name>?createDatabaseIfNotExist=true spark.hadoop.javax.jdo.option.ConnectionDriverName=com.mysql.jdbc.Driver spark.hadoop.javax.jdo.option.ConnectionUserName=<metastore-username> spark.hadoop.javax.jdo.option.ConnectionPassword=<metastore-password> ``` 将 `<metastore-host>`、`<metastore-port>`、`<database-name>`、`<metastore-username>` 和 `<metastore-password>` 替换为相应的值。 5. 如果您的 Hive 安装使用了自定义的额外 JAR 文件,您需要将这些 JAR 文件添加到 Spark 的类路径。在 Spark 的配置文件添加以下配置: ```shell spark.driver.extraClassPath=<custom-jar-path1>:<custom-jar-path2>:... spark.executor.extraClassPath=<custom-jar-path1>:<custom-jar-path2>:... ``` 将 `<custom-jar-path1>`、`<custom-jar-path2>` 等替换为实际的 JAR 文件路径。 完成以上配置后,您就可以在 Spark SQL 使用 Hive 的功能,包括使用 Hive 的表、执行 Hive 查询和使用 Hive UDF/UDAF 等。请确保 Spark 集群所有的节点都进行了相同的配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值