如何设置与cloudera集群的sql/hive连接以读取集群上存储的数据

xcitsw88  于 2021-06-27  发布在  Hive
关注(0)|答案(1)|浏览(312)

我想通过hive、spark或sql检索存储在hadoopcloudera集群上的数据。我已经编写了sql查询,它应该从集群中获取数据。但在此之前,我想了解如何使用cluster设置连接/游标,以便它知道从何处读取或写入? sc = spark.sparkContext 或者类似地,hivecontext或sparkcontext将不够。
我们可能需要为节点和所有的url。那怎么做呢?
任何小的例子都足够了。

pzfprimi

pzfprimi1#

有两种方法可以在配置单元中创建表:
1-创建外部表架构:

CREATE EXTERNAL TABLE IF NOT EXISTS names_text(
          student_ID INT, FirstName STRING, LastName STRING,    
          year STRING, Major STRING)
          COMMENT 'Student Names'
          ROW FORMAT DELIMITED
          FIELDS TERMINATED BY ','
          STORED AS TEXTFILE
          LOCATION '/user/andrena';

2-a)为托管表创建架构:

CREATE TABLE IF NOT EXISTS Names(
  student_ID INT, FirstName STRING, LastName STRING,    
  year STRING, Major STRING)
  COMMENT 'Student Names'
  STORED AS ORC;

b) 将外部表数据移动到托管表:

INSERT OVERWRITE TABLE Names SELECT * FROM names_text;

最后,验证配置单元仓库是否分别在外部表和内部表中存储了学生姓名:

SELECT * FROM names_text;

SELECT * from Names;

相关问题