Apache spark 从DataRicks中的Azure Datalake读取AVRO

Apache spark 从DataRicks中的Azure Datalake读取AVRO,apache-spark,avro,azure-data-lake,azure-databricks,Apache Spark,Avro,Azure Data Lake,Azure Databricks,我正在尝试读取eventhub数据(AVRO)格式。我在将数据加载到DataRicks中的数据帧时遇到问题 这是我正在使用的代码。如果我做错了什么,请告诉我 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) 错误 我确实

我正在尝试读取eventhub数据(AVRO)格式。我在将数据加载到DataRicks中的数据帧时遇到问题

这是我正在使用的代码。如果我做错了什么,请告诉我

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)
错误

我确实尝试使用一些代码来删除错误,但是我得到了语法错误

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
import org.apache.spark.sql.SparkSession
火花会话火花=火花会话
.builder()
.config(“spark.sql.warehouse.dir”,“/mnt/datastore/origin/zone=raw/subject=customer\u events/source=EventHub/ver=1.0/”)
.getOrCreate()
SyntaxError:无效语法
文件“”,第2行
火花会话火花=火花会话
绝对URI中的相对路径

您需要指定协议,而不是使用
/mnt

例如,
wasb://some/path/
如果从Azure blobstore读取

您还可以排除
*.avro
,因为avro读取器应该已经拾取路径中的所有avro文件


如果您想从EventHub中读取,它公开了一个Kafka API,而不是一个文件路径,那么AFAIK

看起来您在使用Python,但试图运行Scala/Java代码。。。因此,
SyntaxError
有任何方法可以使用regex检索日期范围文件。前两周。文件的格式为/2020/03/25/*.json。每天都有单独的目录保存数据data@SajithVijesekara以分区格式存储数据,如
path/to/data/year=2020/month=03/day=25/*.json
。然后可以在任何日期范围的内部分区上过滤
spark.read.format(“json”).path(“/path/to/data”)
。这就是Hadoop/Hive查询数据的方式,Spark就是这样使用的
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