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