I’ve also been looking at how to use Spark Structured Streaming with Kafka, a new streaming
platform from Spark.
Useful references.
Need some packages to talk to Kafka.
dsraw is the raw data stream, in “kafka” format.
ds pulls out the “value” from “kafka” format, the actual alert data.
Queries are new sql dataframe streams and can be written to disk or saved to memory for followup sql operations.
Below they are saved to memory with queryNames that can be treated as tables by spark.sql.
Use sql operations on the named in-memory query tables.
Because this stream is format=”kafka,” the schema of the table reflects the data structure of Kafka streams, not of our data content, which is stored in “value.”
Try selecting from the stream that has cast the kafka “value” to strings.
The alert data has no known schema, only str.
We can use the RDDs to convert data to a better structure for filtering.
Do filtering as list comprehension.
ra_all = [ alert for alert in rddAlerts \
if alert [ 'diaSource' ][ 'ra' ] > 350 ]
print ( len ( ra_all ))
20
ra_all [ 0 : 2 ]
[{ 'alertId' : 1231321321 ,
'diaObject' : { 'decl' : 0.126243049656 ,
'diaObjectId' : 281323062375219201 ,
'flags' : 0 ,
'parallax' : 2.124124 ,
'pmDecl' : 0.00014 ,
'pmParallaxChi2' : 0.00013 ,
'pmParallaxLnL' : 0.00013 ,
'pmParallaxNdata' : 1214 ,
'pmRa' : 0.00013 ,
'pm_parallax_Cov' : { 'parallaxSigma' : 0.00013 ,
'pmDeclSigma' : 0.00013 ,
'pmDecl_parallax_Cov' : 0.00013 ,
'pmRaSigma' : 0.00013 ,
'pmRa_parallax_Cov' : 0.00013 ,
'pmRa_pmDecl_Cov' : 0.00013 },
'ra' : 351.570546978 ,
'ra_decl_Cov' : { 'declSigma' : 0.00028 ,
'raSigma' : 0.00028 ,
'ra_decl_Cov' : 0.00029 },
'radecTai' : 1480360995 },
'diaObjectL2' : { 'decl' : 0.126243049656 ,
'diaObjectId' : 281323062375219201 ,
'flags' : 0 ,
'parallax' : 2.124124 ,
'pmDecl' : 0.00014 ,
'pmParallaxChi2' : 0.00013 ,
'pmParallaxLnL' : 0.00013 ,
'pmParallaxNdata' : 1214 ,
'pmRa' : 0.00013 ,
'pm_parallax_Cov' : { 'parallaxSigma' : 0.00013 ,
'pmDeclSigma' : 0.00013 ,
'pmDecl_parallax_Cov' : 0.00013 ,
'pmRaSigma' : 0.00013 ,
'pmRa_parallax_Cov' : 0.00013 ,
'pmRa_pmDecl_Cov' : 0.00013 },
'ra' : 351.570546978 ,
'ra_decl_Cov' : { 'declSigma' : 0.00028 ,
'raSigma' : 0.00028 ,
'ra_decl_Cov' : 0.00029 },
'radecTai' : 1480360995 },
'diaSource' : { 'ccdVisitId' : 111111 ,
'decl' : 0.126243049656 ,
'diaSourceId' : 281323062375219200 ,
'filterName' : 'r' ,
'flags' : 0 ,
'midPointTai' : 1480360995 ,
'psFlux' : 1241.0 ,
'ra' : 351.570546978 ,
'ra_decl_Cov' : { 'declSigma' : 0.00028 ,
'raSigma' : 0.00028 ,
'ra_decl_Cov' : 0.00029 },
'snr' : 41.1 ,
'x' : 112.1 ,
'x_y_Cov' : { 'xSigma' : 1.2 , 'x_y_Cov' : 1.2 , 'ySigma' : 1.1 },
'y' : 121.1 },
'diaSourcesL2' : [{ 'ccdVisitId' : 111111 ,
'decl' : 0.126243049656 ,
'diaSourceId' : 281323062375219198 ,
'filterName' : 'r' ,
'flags' : 0 ,
'midPointTai' : 1480360995 ,
'psFlux' : 1241.0 ,
'ra' : 351.570546978 ,
'ra_decl_Cov' : { 'declSigma' : 0.00028 ,
'raSigma' : 0.00028 ,
'ra_decl_Cov' : 0.00029 },
'snr' : 41.1 ,
'x' : 112.1 ,
'x_y_Cov' : { 'xSigma' : 1.2 , 'x_y_Cov' : 1.2 , 'ySigma' : 1.1 },
'y' : 121.1 },
{ 'ccdVisitId' : 111111 ,
'decl' : 0.126243049656 ,
'diaSourceId' : 281323062375219199 ,
'filterName' : 'r' ,
'flags' : 0 ,
'midPointTai' : 1480360995 ,
'psFlux' : 1241.0 ,
'ra' : 351.570546978 ,
'ra_decl_Cov' : { 'declSigma' : 0.00028 ,
'raSigma' : 0.00028 ,
'ra_decl_Cov' : 0.00029 },
'snr' : 41.1 ,
'x' : 112.1 ,
'x_y_Cov' : { 'xSigma' : 1.2 , 'x_y_Cov' : 1.2 , 'ySigma' : 1.1 },
'y' : 121.1 }],
'l1dbId' : 222222222 ,
'prv_diaSources' : [{ 'ccdVisitId' : 111111 ,
'decl' : 0.126243049656 ,
'diaSourceId' : 281323062375219198 ,
'filterName' : 'r' ,
'flags' : 0 ,
'midPointTai' : 1480360995 ,
'psFlux' : 1241.0 ,
'ra' : 351.570546978 ,
'ra_decl_Cov' : { 'declSigma' : 0.00028 ,
'raSigma' : 0.00028 ,
'ra_decl_Cov' : 0.00029 },
'snr' : 41.1 ,
'x' : 112.1 ,
'x_y_Cov' : { 'xSigma' : 1.2 , 'x_y_Cov' : 1.2 , 'ySigma' : 1.1 },
'y' : 121.1 },
{ 'ccdVisitId' : 111111 ,
'decl' : 0.126243049656 ,
'diaSourceId' : 281323062375219199 ,
'filterName' : 'r' ,
'flags' : 0 ,
'midPointTai' : 1480360995 ,
'psFlux' : 1241.0 ,
'ra' : 351.570546978 ,
'ra_decl_Cov' : { 'declSigma' : 0.00028 ,
'raSigma' : 0.00028 ,
'ra_decl_Cov' : 0.00029 },
'snr' : 41.1 ,
'x' : 112.1 ,
'x_y_Cov' : { 'xSigma' : 1.2 , 'x_y_Cov' : 1.2 , 'ySigma' : 1.1 },
'y' : 121.1 }],
'ssObject' : { 'MOID1' : 3141.0 ,
'MOID2' : 23432.423 ,
'arc' : 2.124124 ,
'flags' : 0 ,
'moidLon1' : 2143.213 ,
'moidLon2' : 3142.23123 ,
'oe' : { 'M' : 131.1241 ,
'aop' : 344243.3 ,
'e' : 636.121 ,
'epoch' : 134141 ,
'i' : 5436.2344 ,
'lan' : 54325.34 ,
'q' : 6654.14 },
'orbFitChi2' : 1341421.2414 ,
'orbFitLnL' : 1343141.0341 ,
'orbFitNdata' : 1214 ,
'ssObjectId' : 5364546 ,
'uG1' : 32131.312 ,
'uG1Err' : 31232.2132 ,
'uG2' : 231.2313 ,
'uG2Err' : 23132.231 ,
'uH' : 13231.231 ,
'uHErr' : 13213.213 }},
{ 'alertId' : 1231321321 ,
'diaObject' : { 'decl' : 0.126243049656 ,
'diaObjectId' : 281323062375219201 ,
'flags' : 0 ,
'parallax' : 2.124124 ,
'pmDecl' : 0.00014 ,
'pmParallaxChi2' : 0.00013 ,
'pmParallaxLnL' : 0.00013 ,
'pmParallaxNdata' : 1214 ,
'pmRa' : 0.00013 ,
'pm_parallax_Cov' : { 'parallaxSigma' : 0.00013 ,
'pmDeclSigma' : 0.00013 ,
'pmDecl_parallax_Cov' : 0.00013 ,
'pmRaSigma' : 0.00013 ,
'pmRa_parallax_Cov' : 0.00013 ,
'pmRa_pmDecl_Cov' : 0.00013 },
'ra' : 351.570546978 ,
'ra_decl_Cov' : { 'declSigma' : 0.00028 ,
'raSigma' : 0.00028 ,
'ra_decl_Cov' : 0.00029 },
'radecTai' : 1480360995 },
'diaObjectL2' : { 'decl' : 0.126243049656 ,
'diaObjectId' : 281323062375219201 ,
'flags' : 0 ,
'parallax' : 2.124124 ,
'pmDecl' : 0.00014 ,
'pmParallaxChi2' : 0.00013 ,
'pmParallaxLnL' : 0.00013 ,
'pmParallaxNdata' : 1214 ,
'pmRa' : 0.00013 ,
'pm_parallax_Cov' : { 'parallaxSigma' : 0.00013 ,
'pmDeclSigma' : 0.00013 ,
'pmDecl_parallax_Cov' : 0.00013 ,
'pmRaSigma' : 0.00013 ,
'pmRa_parallax_Cov' : 0.00013 ,
'pmRa_pmDecl_Cov' : 0.00013 },
'ra' : 351.570546978 ,
'ra_decl_Cov' : { 'declSigma' : 0.00028 ,
'raSigma' : 0.00028 ,
'ra_decl_Cov' : 0.00029 },
'radecTai' : 1480360995 },
'diaSource' : { 'ccdVisitId' : 111111 ,
'decl' : 0.126243049656 ,
'diaSourceId' : 281323062375219200 ,
'filterName' : 'r' ,
'flags' : 0 ,
'midPointTai' : 1480360995 ,
'psFlux' : 1241.0 ,
'ra' : 351.570546978 ,
'ra_decl_Cov' : { 'declSigma' : 0.00028 ,
'raSigma' : 0.00028 ,
'ra_decl_Cov' : 0.00029 },
'snr' : 41.1 ,
'x' : 112.1 ,
'x_y_Cov' : { 'xSigma' : 1.2 , 'x_y_Cov' : 1.2 , 'ySigma' : 1.1 },
'y' : 121.1 },
'diaSourcesL2' : [{ 'ccdVisitId' : 111111 ,
'decl' : 0.126243049656 ,
'diaSourceId' : 281323062375219198 ,
'filterName' : 'r' ,
'flags' : 0 ,
'midPointTai' : 1480360995 ,
'psFlux' : 1241.0 ,
'ra' : 351.570546978 ,
'ra_decl_Cov' : { 'declSigma' : 0.00028 ,
'raSigma' : 0.00028 ,
'ra_decl_Cov' : 0.00029 },
'snr' : 41.1 ,
'x' : 112.1 ,
'x_y_Cov' : { 'xSigma' : 1.2 , 'x_y_Cov' : 1.2 , 'ySigma' : 1.1 },
'y' : 121.1 },
{ 'ccdVisitId' : 111111 ,
'decl' : 0.126243049656 ,
'diaSourceId' : 281323062375219199 ,
'filterName' : 'r' ,
'flags' : 0 ,
'midPointTai' : 1480360995 ,
'psFlux' : 1241.0 ,
'ra' : 351.570546978 ,
'ra_decl_Cov' : { 'declSigma' : 0.00028 ,
'raSigma' : 0.00028 ,
'ra_decl_Cov' : 0.00029 },
'snr' : 41.1 ,
'x' : 112.1 ,
'x_y_Cov' : { 'xSigma' : 1.2 , 'x_y_Cov' : 1.2 , 'ySigma' : 1.1 },
'y' : 121.1 }],
'l1dbId' : 222222222 ,
'prv_diaSources' : [{ 'ccdVisitId' : 111111 ,
'decl' : 0.126243049656 ,
'diaSourceId' : 281323062375219198 ,
'filterName' : 'r' ,
'flags' : 0 ,
'midPointTai' : 1480360995 ,
'psFlux' : 1241.0 ,
'ra' : 351.570546978 ,
'ra_decl_Cov' : { 'declSigma' : 0.00028 ,
'raSigma' : 0.00028 ,
'ra_decl_Cov' : 0.00029 },
'snr' : 41.1 ,
'x' : 112.1 ,
'x_y_Cov' : { 'xSigma' : 1.2 , 'x_y_Cov' : 1.2 , 'ySigma' : 1.1 },
'y' : 121.1 },
{ 'ccdVisitId' : 111111 ,
'decl' : 0.126243049656 ,
'diaSourceId' : 281323062375219199 ,
'filterName' : 'r' ,
'flags' : 0 ,
'midPointTai' : 1480360995 ,
'psFlux' : 1241.0 ,
'ra' : 351.570546978 ,
'ra_decl_Cov' : { 'declSigma' : 0.00028 ,
'raSigma' : 0.00028 ,
'ra_decl_Cov' : 0.00029 },
'snr' : 41.1 ,
'x' : 112.1 ,
'x_y_Cov' : { 'xSigma' : 1.2 , 'x_y_Cov' : 1.2 , 'ySigma' : 1.1 },
'y' : 121.1 }],
'ssObject' : { 'MOID1' : 3141.0 ,
'MOID2' : 23432.423 ,
'arc' : 2.124124 ,
'flags' : 0 ,
'moidLon1' : 2143.213 ,
'moidLon2' : 3142.23123 ,
'oe' : { 'M' : 131.1241 ,
'aop' : 344243.3 ,
'e' : 636.121 ,
'epoch' : 134141 ,
'i' : 5436.2344 ,
'lan' : 54325.34 ,
'q' : 6654.14 },
'orbFitChi2' : 1341421.2414 ,
'orbFitLnL' : 1343141.0341 ,
'orbFitNdata' : 1214 ,
'ssObjectId' : 5364546 ,
'uG1' : 32131.312 ,
'uG1Err' : 31232.2132 ,
'uG2' : 231.2313 ,
'uG2Err' : 23132.231 ,
'uH' : 13231.231 ,
'uHErr' : 13213.213 }}]
ra_empty = [ alert for alert in rddAlerts \
if alert [ 'diaSource' ][ 'ra' ] < 350 ]
print ( len ( ra_empty ))
0
The schema is inferred incorrectly, and data can be lost, shown below. So, don’t try to do filtering with sql dataframes.
Take a closer look at diaSources_empty with a pandas dataframe.
Some data has been misinterpreted, shown by the “None”s above.
What if we try from the pre-pandas sql dataframe? Checking to see if it was the pandas conversion that lost data.
No, shown above, data was lost before the pandas conversion. Don’t do RDD.toDF() when RDD is dicts.
Nested dicts look like they have survived, when creating a pandas dataframe from a list from a spark series.
But pyspark.sql.dataframe creation can infer data structure incorrectly, if the data does not have a schema.
sparkdf = spark . createDataFrame ([ list ( pdAlertsSeries )])
type ( sparkdf )
pyspark . sql . dataframe . DataFrame
sparkdf . collect ()
[ Row ( _1 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _2 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _3 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _4 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _5 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _6 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _7 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _8 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _9 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _10 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _11 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _12 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _13 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _14 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _15 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _16 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _17 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _18 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _19 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None }, _20 = { 'prv_diaSources' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'alertId' : None , 'diaObject' : None , 'l1dbId' : None , 'diaSourcesL2' : [{ 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }, { 'ra_decl_Cov' : { 'raSigma' : 0.00028 , 'ra_decl_Cov' : 0.00029 , 'declSigma' : 0.00028 }, 'x_y_Cov' : { 'ySigma' : 1.1 , 'x_y_Cov' : 1.2 , 'xSigma' : 1.2 }, 'diaSourceId' : None , 'x' : None , 'decl' : None , 'snr' : None , 'psFlux' : None , 'y' : None , 'filterName' : None , 'flags' : None , 'ra' : None , 'midPointTai' : None , 'ccdVisitId' : None }], 'ssObject' : None , 'diaObjectL2' : None , 'diaSource' : None })]
Using Spark Structured Streaming with a Kafka formatted stream and Kafka stream values of alerts that are unstructured (non-Avro, strings) is possible for filtering, but really a roundabout solution, if you do either of the following:
But, issues can unknowingly arise if after step 4 you try and convert to pyspark.sql.dataframes to do filtering (using RDD.toDF() method).
But, again, issues can unknowingly arise if after step 5 you try and create a pyspark.sql.dataframe from the series of dicts to do filtering with pyspark.sql.dataframes.
The value of using Spark Structured Streaming is primarily in the ability to use pyspark.sql on structured data, so for this example, using Spark Structured Streaming isn’t particulary useful.