我在hive中创建了一个book\u交叉数据集数据库,并在其中创建了3个表。
1) bx\图书2)bx\图书分级3)bx\用户
就像下面一样
create database book_crossing_dataset;
use book_crossing_dataset;
add jar /home/cloudera/Downloads/ccsv-serde-0.9.1.jar;
create external table stage_bx_user(
User_ID int,
Location string,
Age int
)
row format serde 'com.bizo.hive.serde.csv.CSVSerde'
with serdeproperties(
"separatorChar" = "\;",
"quoteChar" = "\"")
stored as textfile
tblproperties ("skip.header.line.count"="1");
load data local inpath "/home/cloudera/workspace/BX-CSV-Dump/BX-Users.csv" into table stage_bx_user;
create external table bx_user(
User_ID int,
Location string,
Age int
)
stored as parquet;
insert into table bx_user select * from stage_bx_user;
现在我想从spark查询这个表,但是当我使用下面的代码时
from pyspark import SparkConf
from pyspark import SparkContext
from pyspark.sql import HiveContext
conf = SparkConf().setAppName("Book Crossing")
sc = SparkContext(conf=conf)
hc = HiveContext(sc)
books = hc.sql("show databases")
print(books.show())
只有默认数据库显示在那里。
我在pyspark中使用下面的链接作为参考查询配置单元表
1条答案
按热度按时间d5vmydt91#
您有一个创建数据库的调用,但是您从未在create table调用中使用它。我建议你把剧本的前三行改成
如果这没有帮助,那么问题在于spark配置。我建议你试试
SparkSession
启用配置单元支持时: