问题标签 [databricks-sql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - 在 Databricks SQL 上插入时无法将字符串转换为日期
我有一个这样创建的表:
我需要使用 SQL 在表中手动插入值。我试着这样做:
但它在这个错误上失败了:
我还尝试将日期字符串替换为:
CAST('2022-01-01' AS DATE)
to_date('2022-01-01', 'yyyy-MM-dd')
但两者都没有工作并返回相同的错误。看起来 SQL 解析器想要将整行转换为日期,这很愚蠢。你知道我该怎么做吗?
谢谢。
PS:在实际使用中,我有将近 30 到 40 行要插入,所以让一个带有 CAST 表达式的变量同时对于所有值都很难实现。
sql - spark sql 将字符串列插入到数组类型列的结构中
我正在尝试将 STRING 类型列插入到 STRUCT TYPE 列的 ARRAY 中,但遇到错误。您能否帮助提供正确的插入方向。
在 databricks 笔记本中,我有一个原始表 ( raw_lms.rawTable
),其中所有列都是字符串类型。这需要插入到tl_lms.transformedTable
列是结构类型数组的转换表 () 中。
原始表填充了以下值:例如。
我尝试插入转换表并得到以下错误:
SQL 语句中的错误:AnalysisException: cannot resolve 'spark_catalog.raw_lms.rawTable.
PrimaryOwners
' 由于数据类型不匹配:无法将字符串转换为数组<struct<Id:string>>;
我不想爆炸数据。我只需要简单地为不同列数据类型之间的行插入rawTable
行transformedTable
。
感谢您的时间和帮助。
jdbc - 用于 Cubejs ( cube.dev) 的 Databricks jdbc 驱动程序
我们正在尝试使用 jdbc 驱动程序(https://github.com/cube-js/cube.js/tree/master/packages/cubejs-databricks-jdbc-driver)将多维数据集 olap 引擎连接到 databricks sql。我们想使用 Cube 作为 olap 层来进行快速查询和预聚合。
但是,jdbc 连接器似乎无法正常工作。有没有人看到这个问题或尝试将多维数据集连接到 databricks sql
databricks - 外部 API 的服务令牌 | 数据块
我目前正在试验 Databricks。我想利用Python SQL 连接器允许外部 API 通过 Databricks 访问某些表。
使用 Python SQL 连接器需要使用个人访问令牌来向 Databricks 进行身份验证。
这里的问题是我不希望服务的访问令牌与我的个人身份相关联,理想情况下,我希望将访问令牌附加到服务身份。Databricks 只允许我创建具有名字、姓氏和电子邮件的用户。是否可以创建服务标识以从外部访问表?
谢谢。
databricks - Databricks:报告正在执行的 SQL 查询
我们有一个 SQL 工作区,其中运行着一个集群,它针对一系列数据集提供大量自助服务报告。我们希望能够分析和报告我们的自助服务用户正在执行的查询,以便我们可以更好地了解谁在使用数据平台,以及使用什么/如何使用表。理想情况下,这将使用 databricks SQL 工作区来执行此报告,而不是使用其他工具。
所有这些信息都可以在查询历史的 UI 中找到,但这不是我们可以轻松分析或创建图表的形式
我们知道有一个 API 可以从 UI 中提取查询历史记录,但是查询 API 以获取有关我们集群的数据似乎很复杂,以便我们可以摄取到我们的集群中以便我们可以查询它
将查询历史信息信息放入配置单元表以便我们查询、分析和绘制图表的最佳方法是什么?
目前我看到了 Query History API 的文档,但是关于如何使用它的例子并不多
databricks - 如何从 DESCRIBE DETAIL 中检索列值
我想使用数据块中我的表描述中的“上次修改”值。我知道如何使用“DESCRIBE DETAIL table_name”从表中获取所有列,但我希望简单地获取最后修改的值,因为我需要在 WHERE 比较中使用它
apache-spark-sql - 具有重复名称的 Spark SQL 查询结构字段
[更新:似乎下面的问题仅影响 Databricks 10.x 与文字视图爆炸(展开数组),查询在 Databricks 9.x 中按预期工作]
从 JSON 中查询 df 作为结构时,会显示以下错误:
这是因为我正在查询两个具有相同名称(但路径不同)的字段
因此,两个“值”重复导致此错误。我可以产生类似的任何 Spark SQL 查询方法
PostLikeCount | PostCommentCount |
---|---|
1 | 3 |
2 | 4 |
重命名源 df 可能效果最好,但这会影响 ETL 过程,在这种情况下并不理想。感谢有人可以提供帮助。JSON 数据是典型的 Instagram 数据导出,如下所示