从 Databricks 中的 Azure Datalake 读取 AVRO
Reading AVRO from Azure Datalake in Databricks
我正在尝试读取 eventhub 数据 (AVRO) 格式。我在将数据加载到数据块中的数据框中时遇到问题。
这是我正在使用的代码。如果我做错了什么请告诉我
path='/mnt/datastore/origin/zone=raw/subject=customer_events/source=EventHub/ver=1.0/*.avro'
df = spark.read.format("com.databricks.spark.avro") \
.load(path)
错误
IllegalArgumentException: 'java.net.URISyntaxException: Relative path in absolute URI:
我曾尝试使用一些代码来消除错误,但我遇到了语法错误
import org.apache.spark.sql.SparkSession
SparkSession spark = SparkSession
.builder()
.config("spark.sql.warehouse.dir","/mnt/datastore/origin/zone=raw/subject=customer_events/source=EventHub/ver=1.0/")
.getOrCreate()
SyntaxError: invalid syntax
File "<command-265213674761208>", line 2
SparkSession spark = SparkSession
Relative path in absolute URI
您需要指定协议而不是使用 /mnt
例如,wasb://some/path/
如果从 Azure blobstore 读取
您也可以排除 *.avro
,因为 Avro reader 应该已经获取路径中的所有 Avro 文件
https://docs.databricks.com/data/data-sources/read-avro.html#python-api
如果你想从 EventHub 读取,那会公开 Kafka API,而不是文件路径,AFAIK
我正在尝试读取 eventhub 数据 (AVRO) 格式。我在将数据加载到数据块中的数据框中时遇到问题。
这是我正在使用的代码。如果我做错了什么请告诉我
path='/mnt/datastore/origin/zone=raw/subject=customer_events/source=EventHub/ver=1.0/*.avro'
df = spark.read.format("com.databricks.spark.avro") \
.load(path)
错误
IllegalArgumentException: 'java.net.URISyntaxException: Relative path in absolute URI:
我曾尝试使用一些代码来消除错误,但我遇到了语法错误
import org.apache.spark.sql.SparkSession
SparkSession spark = SparkSession
.builder()
.config("spark.sql.warehouse.dir","/mnt/datastore/origin/zone=raw/subject=customer_events/source=EventHub/ver=1.0/")
.getOrCreate()
SyntaxError: invalid syntax
File "<command-265213674761208>", line 2
SparkSession spark = SparkSession
Relative path in absolute URI
您需要指定协议而不是使用 /mnt
例如,wasb://some/path/
如果从 Azure blobstore 读取
您也可以排除 *.avro
,因为 Avro reader 应该已经获取路径中的所有 Avro 文件
https://docs.databricks.com/data/data-sources/read-avro.html#python-api
如果你想从 EventHub 读取,那会公开 Kafka API,而不是文件路径,AFAIK