I tried creating a table in Athena for my nested json files in s3, but receiving an error:
line 1:8: no viable alternative at input 'create external' (service: amazonathena; status code: 400; error code: invalidrequestexception; request id: dcea57c7-b801-41a4-8edb-e42eb1608fea)
Table name and fields seem okay, also have attached sample json from my s3 source. Have referred the official documentation of Athena. Also, let me know if and how can I add nested fields from Create Table wizard in Athena.
My query is:
CREATE EXTERNAL TABLE bhaskar_clevertap(
eventName string,
ts bigint,
eventProps struct<
ContentCategory: string,
Previous_screen: string,
Platform: string,
Category: string,
Status: string,
CT Source: string,
CT Latitude: int,
CT Longitude: int,
Phone: bigint,
ADID: string,
Email: string,
ScreenName: string,
DBID: bigint,
App_version: string,
Device_ID: string,
CT App Version: string>,
profile struct<
objectId: string,
all_identities: string,
identity: bigint,
platform: string,
phone: bigint,
name: string,
email: string,
push_token: string>,
deviceInfo struct<
osVersion: int,
sdkVersion: int,
make: string,
model: string,
appVersion: string,
browser: string,
dpi: int>,
dimensions struct<
width: int,
height: int,
unit: string>
)
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.lazy.LazySimpleSerDe'
LOCATION 's3://clevertap-data-bhaskarapp/'
A sample json object would loook like:
{
"eventName": "ScreenView",
"ts": 20200106073433,
"eventProps": {
"ContentCategory": "ePaper",
"Previous_screen": "",
"Platform": "Android",
"Category": "ePaper",
"Status": "LoggedIn",
"CT Source": "Mobile",
"CT Latitude": 25.613659,
"CT Longitude": 85.101135,
"Phone": "+917678284002",
"ADID": "fc2adc9b-6e31-459c-9bee-d6039a263e5c",
"Email": "1008894402@dbcorp.in",
"ScreenName": "ePaper_BIHAR_पटना_पटना_Page3",
"DBID": "1008894402",
"App_version": "6.1.0",
"Device_ID": "3fccfa7749a8fba2",
"CT App Version": "6.1.0"
},
"profile": {
"objectId": "__gfc2adc9b6e31459c9beed6039a263e5c",
"all_identities": ["7678284***", "1008894402@****"],
"identity": "7678284***",
"platform": "Android",
"phone": 917678284***,
"name": "NA",
"email": "1008894402@****",
"push_token": "fcm:dAI-w-gLwyk:APA91bE5E3pz63NMnV9rxqMwYTsOtQnmwjI8ZdElIX98fo0qiCPVnvekDwMMt27tAuI1F5PZmufw1OLpC_6V_hE_n_9eUVn8tF7EqA9MUu80wionD2FYtj*****FrSQDnDJoTFVZFmqg"
},
"deviceInfo": {
"osVersion": "7.0",
"sdkVersion": "30501",
"make": "Xiaomi",
"model": "Redmi Note 4",
"appVersion": "6.1.0",
"browser": "MobileApp",
"dpi": 480,
"dimensions": {
"width": 69,
"height": 121,
"unit": "mm"
}
}
}
Kindly help me finding issues with my query.