%sql
/*Table creation with schema*/
CREATE OR REPLACE TABLE table1
(
Id int,Name varchar(32),Age int,marks int
);
/*Copying dbfs csv data into table*/
copy into table1
from "dbfs:/FileStore/tables/mycsv2.csv"
FILEFORMAT = csv
FORMAT_OPTIONS('header'='true','inferSchema'='True');
select * from table1;
%python
spark_df=spark.read.csv("dbfs:/FileStore/tables/mycsv2.csv",header=True)
#Creating temporary view for the dataframe.
spark_df.createOrReplaceTempView("mycsvview1")
%sql
select * from mycsvview1;
3条答案
按热度按时间a2mppw5e1#
我复制了同样的错误。
如果在databricks SQL中,该名称之前没有创建表或视图,则会发生此错误。在上面的例子中,你试图查询
dbfs:/filepath.csv
,它不是数据库SQL中的表或视图。要在databricks SQL中访问
dbfs
文件,首先我们需要为其创建一个表或视图,并将csv文件数据复制到其中。然后我们可以查询该表。代码:
我的执行:
另一种替代方法(在数据库SQL中查询csv)可以使用pyspark或scala rame,如上面**@ASH**所建议的。
读取csv文件,然后创建一个临时视图。
验证码:
输出供参考:
vfhzx4xs2#
试试这样
jhdbpxl93#
使用最新版本的Databricks,您可以使用以下命令:
SELECT * FROM CSV. 'dbfs:/location/csv_files/'