我正在尝试根据此处的示例将 parquet 文件加载到 Azure SQL 数据库中。但是,我收到语法错误。我在 Microsoft 网站上没有看到太多文档,在 Google 上没有看到足够的信息。所以,在这里寻求专家的帮助。仅供参考 - 我已经创建了 DATA_SOURCE。
创建外部数据源:
CREATE EXTERNAL DATA SOURCE [my_azure_blob_storage]
WITH (
LOCATION = N'abfss://xxxxxxx.dfs.core.windows.net',
CREDENTIAL = [myblobStorage] ,
TYPE = BLOB_STORAGE
);
Run Code Online (Sandbox Code Playgroud)
进行批量插入:
BULK INSERT [dbo].[Employees]
FROM 'gold/employees'
WITH
(
DATA_SOURCE = 'my_azure_blob_storage',
FORMAT = 'PARQUET',
FIRSTROW = 2
);
Run Code Online (Sandbox Code Playgroud)
我得到的错误是:
消息 102,级别 15,状态 1,第 6 行“FORMAT”附近的语法不正确。
根据 Snowflake文档中提到的示例,为什么仅通过更改 ORDER BY 子句,日期和时间戳值就会返回不同的值?另外,我正在尝试将字符串转换为日期格式,该格式在 Snowflake 中不会返回正确的结果,而这在其他基于 SQL 的引擎中工作正常。需要这方面专家的帮助。
这个查询
SELECT '20200710', TO_DATE('20200710');
Run Code Online (Sandbox Code Playgroud)
返回以下输出
20200710 | 1970年8月22日
还尝试过:
SELECT TO_DATE('20200710', 'YYYY-MM-DD');
Run Code Online (Sandbox Code Playgroud)
并得到错误:
无法将“20200710”解析为格式为“YYYY-MM-DD”的日期
我在网上搜索了一下,网上提供的解决方案并没有解决我的问题。我正在尝试读取分层目录下的镶木地板文件。我收到以下错误。
'无法推断 Parquet 的架构。必须手动指定。;'
我的目录结构如下: dbfs:/mnt/sales/region/country/2020/08/04
年文件夹下将有多个月份子目录,月份文件夹下将有后续的子目录。
我只想在销售级别阅读它们,这应该为我提供所有区域的信息,并且我已经尝试了以下两个代码,但它们都不起作用。请在这件事上给予我帮助。
spark.read.parquet("dbfs:/mnt/sales/*")
Run Code Online (Sandbox Code Playgroud)
或者
spark.read.parquet("dbfs:/mnt/sales/")
Run Code Online (Sandbox Code Playgroud) azure ×1
databricks ×1
pyspark ×1
python ×1
snowflake-cloud-data-platform ×1
sql ×1
sql-server ×1