In MS Doc they mention
Azure Synapse Analytics allows the different workspace computational engines to share databases and tables between Apache Spark pools and serverless SQL pool.
And in rest of the Azure Synapse Analytics doc they talk about how Spark pool's DB & tables(parquet, delta, csv backed) automatically sync with serverless pool.
But nowhere its mention the other way. If I create table or external table in serverless pool, will it be automatically available in spark pool?
Here They mention
SQL and Spark can directly explore and analyze Parquet, CSV, TSV, and JSON files stored in the data lake.
Further extending my above question if table is created using the json file, will it be available in spark pool?
If I create table or external table in serverless pool, will it be automatically available in spark pool?
No, you can't directly fetch the tables from Synapse serverless SQL pool. The Synapse serverless SQL pool table are not directly available outside of it. Synapse offers a functionality that enables you to access Spark database objects without the Spark pool being active or running by syncing them to Serverless pools.
you can refer this Document for more information.
if table is created using the json file, will it be available in spark pool?
No, The Synapse serverless SQL pool table are not directly available outside of it. to access this table, you need to use the JDBC connector in synapse. as @jon said to connect and extract data from serverless SQL pool you can use the SQL jdbc connection.
print("read data from SQL")
jdbcDF = spark.read \
.format("com.microsoft.sqlserver.jdbc.spark") \
.option("url", url) \
.option("dbtable", dbtable) \
.option("user", user) \
.option("password", password).load()
jdbcDF.show(5)