【发布时间】:2019-08-11 07:54:48
【问题描述】:
我在 hive 中创建了 book_crossing_dataset 数据库,并在其中创建了 3 个表。
1) bx_books 2) bx_books_ratings 3) bx_user
如下图
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())
那里只显示默认数据库。
我使用下面的链接作为参考 Query HIVE table in pyspark
【问题讨论】:
-
您提到您需要创建
book_crossing_dataset数据库,但我在您的代码中的任何地方都看不到这个数据库,除了您的问题描述。如果它不存在,您为什么希望在show databases查询中看到它? -
@RichardNemeth 也在代码中添加了该行。我通过 hive shell 运行数据库和表创建命令。
标签: apache-spark hive pyspark hiveql pyspark-sql