问题标签 [azure-databricks]
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.
apache-spark - 从 pyspark 写入 cosmosdb 永远不会永远运行/永远不会成功也不会失败
我正在使用 pyspark / databricks 将 ETL 数据从镶木地板文件传输到 CosmosDB(documentdb api)。
尽管第一次成功测试了 5 行数据,但每次尝试在 cosmosdb 中写入数据都无济于事。即使只有一排,它也会永远运行。监控 cosmosdb 时,“metrics”界面中会显示定期、恒定的写入请求流到正确的集合,但没有写入任何内容。
在火花的标准错误中有错误说明“{“错误”:[“请求的资源在服务器上不再可用。”]}“但它没有失败,它只是循环。
我什至不知道如何在那里找到问题。
配置:
以“覆盖”模式写入
使用 azure_cosmosdb_spark_2_3_0_2_11_1_2_7_uber.jar
azure - 是否可以从 Azure 数据工厂读取 Azure Databricks 表?
我在 Azure Databricks 集群中有一个表,我想将此数据复制到 Azure SQL 数据库中,让其他用户从元数据库分析这些数据。
是否可以通过 Azure 数据工厂访问数据块表?
databricks - Databricks - CSV 未正确加载
我有一个简单的 csv 文件,它是管道分隔的,我可以将其加载到 Databricks 中,然后显示 df 并且它显示得很好。然后我尝试使用格式相同的主数据集并从 SQL 服务器导出。加载后,输出显示它已加载(列出字段名称和它推断的数据类型——尽管所有字符串都不是一个好兆头)
然后我做显示(df),我看不到一个很好的显示。相反,它显示以下内容:
显然 csv 在这里有问题,但我不知道如何解决这个问题 - 我已经很小心如何从 SQL 服务器导出它,所以不确定我会在那里做些什么不同的事情。
azure - 安装 Blob 存储的 Azure Databricks
我正在尝试将 Blob 存储从我的存储帐户映射到我的 databricks 集群。我正在关注此链接,显然我只需要在我的笔记本中执行此代码:
代码蟒蛇:
我被困在参数中:(scope = "<scope-name>", key = "<key-name>")
。我知道为了创建一个范围,我可以点击这个链接,稍后我想在整个 Databricks CLI 中导航我的集群并捕获<scope-name>
and <key-name>
。但是,当我检查我的集群时,我只获得了范围名称,并且在任何地方或 lkeast 都找不到密钥名称,我不知道如何获得它。
在 Databricks CLI 上试过:
我在哪里可以生成或找到<key-name>
pandas - 有没有办法对 2 个数据帧进行真正的 sql 类型合并
首先,我承认我对 dataframes/databricks 只使用了几个月就很陌生。
我有两个从镶木地板文件(完整格式)中读取的数据框。在查看文档时,似乎 pandas 中所谓的合并实际上只是一个连接。
在 SQL 中,我将此步骤写为:
当我运行此命令时,我收到以下错误:u'MERGE destination only supports Delta sources.\n;'
所以我有两个问题:有没有办法可以使用 pandas 或 pySpark 执行此操作?
如果没有,我该如何解决这个错误?
sql-server - 通过 Azure Databricks 连接到本地 SQL Server
Azure Databricks 是否支持连接到本地 SQL Server?
databricks - 如何删除已从 Azure Databricks 工作区中删除的库
删除使用“在所有集群上自动安装”选项添加的库 jar 后,该库仍会自动安装在工作区中的所有集群上。我需要删除或禁用库的自动安装行为。
我将一个库从 Maven 导入到我的 Azure Databricks 工作区。新版本出来后,我添加了新版本,并从工作区中删除了旧版本的 jar。
旧版本以“在所有集群上自动安装”行为添加到工作区,即使 jar 从 GUI 中消失,它仍会安装在工作区中创建的所有新集群上。由于 jar 消失了(从 GUI 中),我无法更改 jar 的“在所有集群上自动安装”行为,并且 Databricks 不允许您从集群中手动分离自动安装的库(从集群视图)。
我尝试从 Maven 中心读取相同的库(相同版本)并将新 jar 安装在集群上,以查看它是否覆盖了旧安装,希望我能以这种方式改变行为。不幸的是,当我尝试将新下载的版本添加到已经自动安装了库的集群中时,安装会无限期地卡在挂起状态。
关于如何在无需设置新工作区的情况下解决此问题的任何想法都会很棒。
azure-databricks - 从 Azure Databricks DBFS REST 2.0 API 读取文件
我正在开发一个使用 Azure Databricks DBFS API 2.0 读取和写入文件的应用程序。此 API 的参考文档: https ://docs.azuredatabricks.net/api/latest/dbfs.html#read
我可以通过将文件转换为base64然后分成1MB的数据块来上传文件(比如说1.4MB的文件)。
由于读取长度限制为 1MB,我正在迭代一个循环以从 offset和 to读取0
数据。现在数据的第一次迭代-是有效的,我可以从我用于上传的原始文件中确认。1000000
1000001
end of the file
0
1000000
但是第二次及以后的数据迭代,base64数据完全不同,并且不存在于原始base64文件中。
以下是我的测试代码:
Second iteration
- 0.4MB
First iteration
- 1MB
在这里,*** 被替换为相关的域和令牌。
如您所见,上述测试代码示例将生成one.txt
和two.txt
. 通过使用cat one.txt two.txt > final.txt
我可以获得final.txt
我将用来解码原始文件的内容。
由于这只是一个测试代码,我没有使用任何循环或更好的编码格式。这只是为了了解出了什么问题。
我坚持这个已经超过 1 周了。我指的是为 python 编写的其他代码示例,但没有帮助。
我不想浪费任何人的时间。但是,请有人帮我弄清楚出了什么问题或我可以遵循的任何其他标准程序吗?
scala - 在尝试使用“TABLE_NAME.insert”将数据插入分区表时获取“单分区插入语句中的错误分区元组”
我正在使用给定的插入语句创建一个 VoltDB 表
并用
我已经编写了一个 Spark 作业来将数据插入 VoltDB,我正在使用下面的 scala 代码将记录插入 VoltDB,如果我们不对表进行分区,代码效果很好
但是如果我对表进行分区,我会得到以下错误
我找到了一个关于该问题的链接(https://forum.voltdb.com/forum/voltdb-discussions/building-voltdb-applications/1182-mispartitioned-tuple-in-single-partition-insert-statement)并试图使用以下查询对过程进行分区
和
但是我[Ad Hoc DDL Input]: VoltDB DDL Error: "Partition references an undefined procedure "EMPLOYEE.insert""
在执行这些语句时遇到错误。
但是,我可以使用存储过程插入数据,但是对于上述使用存储过程将数据插入分区表@AdHoc
的场景,我无法找出问题或解决方案。EMPLOYEE.insert
azure-sql-database - 如何通过 azure Databricks 更新 Azure SQL 数据库/数据仓库表?
我的项目中有一个要求,我在 Azure SQL DW 中实现 SCD 类型 2 表。我可以使用 JDBC 连接器插入新记录,但我需要将旧记录更新为“过期”,并根据更新的值更新其他记录。