C. timestampAsOf value should be a string with date-time format
D. Missing .option('versionAsOf', )
Solution
Step 1: Check timestampAsOf option usage
The 'timestampAsOf' option expects a string representing date and time, e.g., '2023-01-01T00:00:00'.
Step 2: Identify error in value type
Here, 20230101 is an integer, not a string with proper format, causing error.
Final Answer:
timestampAsOf value should be a string with date-time format -> Option C
Quick Check:
timestampAsOf needs string date-time [OK]
Hint: Use string date-time format for timestampAsOf [OK]
Common Mistakes:
Passing integer instead of string for timestamp
Confusing versionAsOf with timestampAsOf
Assuming option does not exist
5. You want to compare the number of rows between version 3 and version 5 of a Delta table located at '/data/logs'. Which code snippet correctly loads both versions for comparison?
hard
A. df_v3 = spark.read.format('delta').option('versionAsOf', 3).load('/data/logs')
df_v5 = spark.read.format('delta').option('versionAsOf', 5).load('/data/logs')
B. df_v3 = spark.read.format('delta').option('timestampAsOf', 3).load('/data/logs')
df_v5 = spark.read.format('delta').option('timestampAsOf', 5).load('/data/logs')
C. df_v3 = spark.read.format('delta').option('version', 3).load('/data/logs')
df_v5 = spark.read.format('delta').option('version', 5).load('/data/logs')
D. df_v3 = spark.read.format('delta').option('versionAsOf', '3').load('/data/logs')
df_v5 = spark.read.format('delta').option('versionAsOf', '5').load('/data/logs')
Solution
Step 1: Identify correct option for version number
The option 'versionAsOf' expects an integer version number, not a string.
Step 2: Check code correctness for both versions
df_v3 = spark.read.format('delta').option('versionAsOf', 3).load('/data/logs')
df_v5 = spark.read.format('delta').option('versionAsOf', 5).load('/data/logs') uses 'versionAsOf' with integers 3 and 5, correctly loading both versions.