00:00
好了同学,那现在呢,咱们再继续往下进行,呃,下边咱就可以干啥了啊,这个阶测表大家现在基本上会用了,对吧?我是不是就可以去考虑一下,我们到底应该怎样用这样的表去解析我们这个真正的是不是用户行为日志了呀,对吧?好,那接下来咱们怎样去解析解析它,你是不是得拿出来一条这个完整的这个日志,我们得照着那个日志去设计这张表才可以啊对吧?好,那现在咱们就去拿一条完整的日志啊呃,我们就不再从这个HTM文件里边去拿了,因为我文件里边的日志它是不全的,对吧?它可能结构是不全的,对吧?啊,那在这儿呢,我们打开之前的文档,呃,我找一下那个日志啊,呃,这是用户行为日志的这个文档,然后呢,我们找一条完整的这个呃,接森这个日志,呃,那咱们这个日志分两种结构对吧,一种是日面,呃,页面,一种是启动日志对吧,那咱现在呢,先只考虑一种啊,另外一种咱们一会再说啊来,我先把一条日志给它拿出来,CTRLC,那当然这里边咱们还是要给它处理一下的啊,CTRLVCTRLF,我把这里边儿的所有的这个这。
01:01
这个注释都给它去掉啊,来点星好直接删除,然后呢,CTRLCTRLC拿过来之后呢,我们给它放到一个这个阶层美化工具当中啊。好,那现在我放在这个位置好了,同学,那到目前为止,我就已经把咱们这个一条完整的这个日志给它拿出来了,大家要注意啊,这是哪种结构的日志页面日志,对吧?那一会儿咱们还有另外一种日志结构,也就是启动日要考虑对吧?这块咱们再说,咱们现在就先只针对于这样的一条日志,一种日志对吧?去设计一下它那个表结构好了,现在哎,问题就来了,怎样去设计这条日志对应的表的结构怎样设计?怎样设计,其实怎样去设计这个表的结构,在这咱们重点就是关注字段就完事了,对吧?那字段呢,无非就是确定,哎,我到底有哪些字段对不对?那么说还要确定什么,就是我这个字段它的类型是什么,无非就是确定这些东西吧,对吧?啊,那想想吧,这东西咋确定?首先先说字段,这个字段好像跟刚才咱们去测试去演示的时候不太一样吧,刚才咱们自己演示去学习这个东西就俩字段很简单对吧?但但当前咱们看到这个真实的日志可没那么简单,对不对?这个结克这个这个日志是不是看起来要比较复杂对吧?其实它复杂主要复杂在什么地方?对,它复杂并不是复杂在它的字段多,而是复杂这个嵌套的结构上,对吧?好,那对于这样嵌套的结构,我这个计算表到底应该怎么设计呢?
02:22
啊,大家可能之前没没用过啊,那在这儿呢,我就直接告诉大家结论就行了,那这边对于这种嵌套结构的杰森,那我们这个表的字段怎么确定啊,你就记住跟他的一级字段保持一致即可,对吧?也为咱这儿呢,一级字段是不是一共有123456个呀,对吧?OK,那我这个阶层表我就六个字段,那就完事了对吧?每一个字段就对应这张表这个阶层当中的一个一级字段,好了,那完之后我们继续往下进行,那字段咱们现在已经确定了,对吧?那我是不是还要再去确定一件事,就是什么,就是我这个字段的类型啊,对吧?好,那字段的类型怎么确定呢?比如说我第一个字段common字段,对吧?那它在表里边的字段类型应该是什么呢?
03:03
字段的类型是什么?理论上是不是应该根据杰森当中的这个字段后边的value去确定啊,对吧?好,那这个value它是个什么value,它不是一个简单的,比如说什么字符串啊或者数字,对吧?你要是字符串,那我字段就是死值类型,你要数字我就来个in或big in是不是都可以啊,对吧?但是你现在是一个什么,是一个接分对象嘛,这是一个接森对象嘛,对吧?好,那接森对象的value对不对?我在have当中应该用一个什么类型的字段去存呢?啊对,这里边就得用复杂数据类型了,还有当中呢,我们实际上是有简单数据类型或叫基本数据类和复杂数据类型之分的,对吧?那你对于那种就是没有嵌套结构的对吧?在这边我比如说我就是一个字符串,那我用基本数据类型去去搞定就行了,那对于这种嵌套结构的对吧?比如说我这是一个,呃,这个先对象,那我就得用一个复杂数据类型去存储了,好复杂数据类型咱们是不是一共有三种啊对吧?Map和瑞还有strong对不对?那在这我们用谁比较合适呢?用谁比较合适呢?哎,有同学说的对吧,那用map行不行呢?Map行不行?
04:08
Map在某些情况下其实也行啊,OK,你看一看,我实际上所谓的这个阶层对象不就是一个KV建筑的结构吗?对吧,KY6没没问题吧,哎,在某些情况行,在什么情况下不行的?哎,Map它有一这样的问题啊,就是假如我这个字段我设置到map类型了,那我这个map里边的K和Y的类型是不是就是固定的了呀,对吧?OK,那所以说你你得保证啥,就是你这个阶层对象当中,我所有的value都是一样的类型,数字类型都是数字类型,字串都是走串,OK,那我在这儿是不是用map是可以的,但是这种情况是不是可能不是不满足啊,对吧,我可能诶这个是数字,这个是串,那我用map就不行了,那这时候咱们考虑用啥呢?用ru的结构体对吧?那ru结构体大家现在还有印象吗?它有什么样的特点?是不是一个R结构体是有多个字段的呀,对吧,每个字段都有自己的字段名和字段类型吧,没问题吧,哎,这一点咱要给他搞清楚啊,行了,那接下来呢,咱们就继续往下进行,呃,那也是在这儿呢,我们可能需要用到这个复杂数据类型,OK,那接下来往下走,我们看第二个字段。
05:10
这是一个什么?这个结构看起来不要更复杂,对不对,它它它是一个什么,它是一个数组吧,对不对,而且数组里边是什么,数组里边的元素是建设对象对吧?那这样的字段我在have当中,我应该建一个什么样的类型?是一个A瑞,那额瑞它是不是得有这个元素类型啊,对吧?那元素类型是什么类型呢?是磁出对不对,也就是在这我们是不是可能得需要用到一个什么额瑞里边再嵌套一个结构体的类型啊,对吧?OK,那这样能不能去实现呢?哎,其实在汉语是能实现的,我汉有当中是能够实现这种复杂数据类型的嵌套的,还是可以的,OK啊,那所以这个字段怎么去搞,咱们心里也应该有点数的啊OK,接下来继续往下走,那这个这个跟刚才的这个action是不是应该是一样的对吧?这个不多说,然后往下走来配置这个还是一个啥,还是一个结构体数就就行了,对吧?然后再往下走,这是一个什么LL,这其实也来个结构体就完事了,对吧?OK,最后一个TSTS简单,它是不是就是一个基本数据类型,用一个big in就行就行了,对吧,实间串了对吧?OK,那这样一来的话,那实际上我们这张表到底怎么去玩,咱们基本上是有一定的这个思路了啊,但是大家现在对have当中的复杂数据类型熟悉不熟悉。
06:26
Have当中的复杂数据令大家熟悉不熟悉?呃,就是熟悉不熟悉具体到什么程度呢?就OK,比如说我建表的时候,对吧,我要想声明一个负杂税类型,我怎么声明对不对?OK,那建好表之后,我将来我从这样那张表里边我去查数据,我怎么去查啊,这些东西大家现在熟悉吗?呃,可能有同学已经忘记了啊,那所以接下来呢,就系统的先去复习一下这个have当中的复杂数据类型,就在咱这个数仓项目里边,复杂数据类型咱们用的还是比较多的,所以在这儿呢,咱们呃,必须得系统的复习一下,这个比较重要啊好,那现在呢,我们去一起复习一下have当中的复杂数据类型,呃,那复杂数据类型呢,在这呢,我们重点就复习这样的三个,分别是arra,还有这个map,还有这个R结构题,OK,那我们从哪几点去复习呢?我们从以下这样的三点去复习吧,那首先那就是第一点,第一点是什么呢?第一点就是咱们的这个呃定义,呃所谓定义就是我一会儿建表的时候,我在表里边怎去怎样去声明这个类型,对吧?OK,这是第一点,那还有一个就是第二点,第二点是什么呢?
07:28
哎,就是就是啥呢?哎,就是我们如何去取值,什么叫取值呢?就是将来我把这个东西我给它建好之后,对吧,我怎样从比如说一个A瑞里边获取个元素,我怎样从一个map里边获取一个K对应的value,对吧?这是取值对吧?就是所谓所谓的select怎么去解对吧?啊接着往下走,第三点是什么呢?第三点其实就是咱们如何去构造。对吧,就是比如说我现在想通过insert的方式去往一张表里面去写数据,对吧?然后这张表里面,比如说我就有一个复杂数据类型,就有一个额瑞,对吧?我怎样去得到这个额瑞,对我怎样通过circle去构造一个数组,怎样通过circle去构造一个结构体等等等等,那我们主要从这样的三个方面去系统的复习一下,诶是这样的啊,那当然我们目前呢,就是单从建表这个角度去考虑的话,我们可能只需要用到这个定义就完事了,对吧?但是别的东西我们以后会用到,所以让我们系统的复习一下啊好,我们首先先看定义,怎样定义一个所谓的俄瑞啊,这个咋样定义,定义是不是很简单,我们是不是见表的时候,只要只需要这样去声明就完事了,对吧?分别是应该是AR ay后边跟个啥先括号就行了,对吧,里边写一个什么,是不是写这个,呃,就是这个数组里边元素的类型就行了,对吧?比如说来词缀,哎,那定义是就完事了对吧?好,OK,这个简单,接下来就是map map吧,咱们如何定义啊。
08:45
嗯,哎,其实一样,是不是也是先写个map,后边来个监括号,但是这回得写俩类型,一个是K的类型对吧,比如说我来一个诶string后边呢,我来一个诶B个in,那是不是就完事了,对吧?诶接下来我们看重点就是结构体,结构体应该怎么定义啊。
09:01
是不是也是先写一个,然后后边的写上。诶,这个稍微麻烦点了啊,你得你得声明什么,你得声明这个串结合体当中的每一个字段的字段名和字段的类型,对吧?OK,那比如说在这呢,我有一个这样的字段叫做ID字段,那类型是什么呢?比如说就是int类型,OK,那这是一个字段搞定了对吧?那第二字段是不是也得声明,那怎么分隔两个字段逗号吧,对吧,写个逗号,然后后边呢,是不是再来一个什么name,然后后边来一个哎,String,那就完事了对吧?OK,那这是就是这个所谓的结构体的一个定义的方式,就是这么去定义,好那晚之后我们再继续往下进行,我现在比如说我想去嵌套的去定义一个这种复杂数据类型的结构,那这个东西怎么去定义啊,你像刚才咱们那样的,是不是就可能需要有数组里边嵌套结构体啊,对吧,那怎么去写呢?很简单,你就直接ara就完事了,对吧,那只不过呢,我这里边我再写类型,我就不能写基本数据类型了,我写啥,我是不是把这个整个的给它放在这里边来,那就完事了,对吧?哎,就这样去定义这种嵌套的结构就完事了,哎,Have是支持这个嵌套了啊好,那接下来咱继续往下走定义咱们就完事了,接下来我们再来看一下这个取。
10:05
值怎么去取?哎,怎样从一个A里边获取某一个元素呢?还记得吗?比如说我这有一张表,这个表里有一个字段叫AR,那它的类型就是数组,对吧?咱们取很简单,是不是直接来一个方括号,然后里边来一个啥就行了,下标数就完事了,对吧?来个零,那就获取第零个元素呗,对吧,很简单,尽量往下走,下边是一个map,那这个map我们怎样去取值呢?很简单,也是写一个map对吧,写那个字段名啊,然后后边来一个方括号,里边放啥就行,放K吧,就反回对了Y这个也简单,接下来就是结构体,结构体怎么取出,还记得不是不是,也是先把字段名放在这对吧,然后后边呢,怎么办?点是不是就行了,点那个字段名是不是就会返回这个字段对应的Y0对不对,它是这样去取值的啊,好了,那这样一点,这样一来的话,取值咱们也就回应完了。接下来进入到重点就是构造,怎样去构造这样的复杂数据零什么叫构造呢?就是我,比如说我我这有有一张表对吧,这个表的字段它就是俄类型,然后我需要往里边去iner的数据,Ins色的后边是不是得跟select呀,对吧,就是你怎样通过select语句去得到一个,得到一个互足对吧,那怎样得到一个map,怎样得到一个结构体。
11:15
对吧?OK,那这就是所谓的构造,怎么去构造,怎么去构造啊,就是我怎样能通过一个select的S语句对吧?去得到一个数组,得到一个map,得到一个结构体,那其实是不是就得看函数啊,对吧?你是不是就看哪个函数它的返回类型是瑞,那你就怎么得到吧,对吧?是这个道理吧?OK,那所以在这儿呢,我们得去看函数才行啊,在哪看函数呢?诶还是打开have的官网,呃,完了之后呢,我们稍微再往后退一下啊,咱们退到哪呢?还是退到最开始的那个language menu对吧,就是一个大家这个地方得常看一看啊,就这里边基本上有我们使用have所需要用的所有的内容啊,来完之后咱们现在得找谁呢?得找谁啊,得找函数对吧?函数在这里边咱找谁就行,找这个就行了,哎,这是不是就是所谓的呃,Functions啊对吧,User DeFine functions对不对,那完之后呢,我们点进去。
12:05
点缀,我把这个字稍微再调回来啊,调小一点好点下来之后呢,这里边就有各种各样的函数来吧,但实际上这里边大家要是呃,这个这个眼睛好使的话啊,你应该能够发现这里边有一个这个东西,这个叫啥呢?叫做complex Type Constructor什么意思是就是复杂类型的构造器啊,对吧,构造器不就是专门用来构造复杂数据类型的值的嘛,对吧?好,那现在咱们去点一下。点完之后,那我们就来到了这一节了,就是这样呢,就给我们列出来的这样几个所谓的构造器,这构造器也是什么呢?是不是也是方案,也是函数啊,对吧?那它的反问类型就是对应的复杂数据类型,OK,那接下来咱们就来看一看我们这几种复杂数据类到底如何构造,咱们先看俄瑞啊,怎样能得到一个俄瑞,这儿是不是有一个函数名就叫俄瑞啊,对吧?啊好,那完之后怎样往里边放东西呢?是不是直接给它往里边传一个一个的Y6,那就完事了,对吧?所以这个其实是非常简单的,OK,那在这儿呢,我给它列在这个位置啊,OK,在这我写一个a RA RA a a ray对吧?然后呢,我给它放一个括号CR拿过来就行了,OK啊,这个其实非常简单,在这我可以给大家测一下这个东西啊,比如在这呢,你就直接select,然后a ray对吧,里边我就直接放什么放值是不是就行123对吧,然后呢,我查一下,嗯,是不是又给咱们返回了一个这样的哎,三个元素的数组啊对吧,就是这么去玩,很简单啊好了,那接下来我们继续往下进行,呃,除我们要想得到一个数组啊,你除了用这种,哎,就是往里边填值的方式,你还能怎样得到一个数组?
13:31
还能怎样得到一个数组,其实我们得到数组的这个这个函数其实挺多的啊,还有这样就大家最容易想到的还有一个什么函数,Li的函数吧,没问题吧,Split它是不是也能帮我们去得到一个数组啊,对吧?Split怎么用?是不是你给它传一个字符串,再传一个啥分隔符,是不是就给你返回一个数组对吧?这个也行,那还有谁可以对,之前咱们还学过一函数叫Co collect s,它是不是也能返回一个数组,对吧?OK,但是啊,你要注意这几个函数它们实际上是有本质的区别的,有什么区别呢?它们有的是udf,有的是UDAF。
14:11
对不对?大家还记得这个UFUDFUDTF的概这个这个区别吧,Udf是一进一出,Udf是多进一出,UDTF一进多出,对吧?这个所谓的一和多,咱的单位指的是什么?是行没问题,是行啊,也就是说,呃,这个udf是进来一行,出去一行,UDAF呢是进来一行出去,呃,进来多行是出去一行,对吧?指的是行啊,OK,好,那完之后他俩大爷说应该属于哪种类型?一进一出的吧,对不对,这是不是都是进来一函数去一行啊对吧?OK,那这个呢,是多进一出,是一个聚合函数对吧?这个一定要注意一下,它们是有区别的,虽然他们返回类型都是数据啊好,那这个到底用谁?这个取决于具体的需求啊,这个到时候再说,行,我就先列举这几个,我就不再多说了啊接着往下走,Map,怎样能得到一个map呢?哎,这个map你要想得到,是不是也有相相应的这个所谓的构造器啊,对吧?那怎么用直接调用map,然后里边呢,传KY6 KY6是不是就能得到一个咱们想要的map对吧?这个其实也比较简单,OK,那在这儿我也是列在这个位置啊CTRL好,那这个比较简,那还有我这就不演示了啊,很简单,那还有没有其他的函数也能返回这个所谓的map呢?有没有呢?
15:18
其实也有,这里还有一个函数啊,那给大家搜一下,叫做这个,呃,S tr to map就是这个函数,哎,这个s to map,其实你听他名字大大概就能知道它是干什么的吧。干啥的呀?把字符串是不是转成map的对吧?那其实这个函数跟谁呀,跟刚才我们讲的那个Li函数有点像,Li是干啥呢?是不是把一个字符串给你,是不是就是相当于给你拆成一个数组啊,对吧?那这样呢,就相当于是把一个字符串给你拆成一个map对不对?OK,那你想你要是把一个字符串想拆成一个数组,你得给它指定一个分隔符,对吧?那你要想把一个字符串拆成一个map,那你得怎么样呢?
16:00
得成俩分隔符吧,对不对?OK,所以说你看这个函数怎么用啊,第一个参数就是字符串,那后边两个参数呢,就是分隔符对不对?但是你应该能发现这个分隔符它怎么样的,是由方括号括起来的对吧?方号括起来咱这有一个不成文的规定,那指的就是什么?就是可选的,就是可选的,加方括号就是可选的啊,就是说可选是啥意思,说明它有默认值对吧?后边是不是有这个相应的默认值啊,对吧?是这样的,OK,那这两个分割符到底干啥用的?很简单,一个就是用来分割谁的,你说是分割我这个map当中K和V的呀,对吧?还有一个分割数就分割啥呢?是不是两个KV之间的呀,对吧?哎,是这样的,一只要你给它指定相的分数,那我就能得到一个对应的map,所以这个函数其实也是可以得到一个map的,只不过它得到的map,它的K和Y都是啥类型的,都是随值类型的,这个类型是固定的,因为你是字符串分子嘛,对吧,这个要理解一下啊,行了,那这就是我们怎样得到一个所谓的map,这个我也就不再列举了,先说这么多,那接来继续往下走,最后一个刷的结构体,结构体怎么构造?
17:01
这个相对来说比较单一啊,那这个我再退回到刚才的位置,呃,OK,那现在呢,我们找到这个位置啊,那这儿就有两个所谓的结构体的构造器,来我们一起看一下,为什么有两个呢?我们先看第一个啊,第一个结构这个这个构造器怎么用,是不是调用structure的,然后后边给你传啥,是不是只传一个一个的VALUE6啊对吧?好,那你要知道一个结构体对不对,我正常情况下应该是有不同的字段的吧,而且每个字段都有自己的字段名和字段的值,对吧?OK,你看你再去声明一个结构体的时候,你就应该能体会到这一点,对吧?声命结构体是不是就有字段名,哎,没,没错吧,每个字都有字段名对吧?那我这只给他值,那我对应的。名应该是什么?你看我这只给值,那我对应的名应该是什么?哎,其实是有默认值的,后边有它是什么?他说structure field names will be,是不是COLUMN1 column2 column3呀,对吧?哎,这是它自动的一个默认的字段名,哎,这个其实用的不多啊,更多还是哪种,还是下面那种,哎,Name的,那它跟上面的区别大家应就知道是啥了吧,是不是这个我会传字段名字段值,字段名字段值啊,对吧?OK,那是这样的,这就是我们去构造一个所谓的结构体的一个方式啊,那在这呢,我也给它列一下,我们叫做name的,然后后边来一个ST ru name的structure,后边呢,我把它放在这,OK,那其实这个呢,我也可以给大家演示一下,比如说在这呢,我们来一个呃,Name name的ru,对吧,里边呢,比如说我给你放一个啥呢,先放一个ID对吧,这是字段什么。
18:27
名对不对?OK,那比如说来个值,随便写一个101是不是就完事了,对吧?OK,那接下来我再往下走,后边再写一个啥呢?再写一个座业名对吧,比如说name对不对,后边呢,我再给他来个啥,再给他来一个,比如说张三,张三,OK,那现在呢,我们执行一下,我是不是又得到了一个这样的结构题量对吧,就是这么个逻辑,这一点大家要给他搞清楚啊,好了,那截止到现在呢,我们这个复杂数据类型的相关内容,咱们就回顾完了,做了一个系统的复习啊,OK,后边咱们用到哪个的时候,咱们再来,诶回头来再看啊,行,这个完成之后,视频我停一下。
19:00
呃,好了,各位同学,那咱接下来呢,就来测试一下,就是使用这种复杂数据类型对吧?去保存这种就是具有嵌套结构的复杂的阶词字符串,对,来测一下,看这个东西怎么弄啊,那完了之后,我刚才利用课架的时间呢,在这儿呢,我准备了一个这种具有嵌套结构的阶森字符串,那现在呢,我已经放在这个位置了,咱们一起来看一看啊,大家看就是这个结构相对来说就是比较复杂了对吧?OK,那大家看一看它里面的具体结构啊,首先前面俩字段比较简单,不多说,看hobby hobby其实就是就是爱好的意思对吧?那这个人是不是可能有多个爱好对吧?Reading coding smoking对吧?那这里边我放了一个啥,放了一个数组对不对?然后往下走,下边是还有一个dress,也就是地址啊,对吧?地址后边放的啥是结构体对吧?呃,不是结构体,是在阶层里边没有结构体啊对吧?阶层里面咱们叫啥叫阶层对象对吧?那现在然后俩字段一个CTR一个一个CT对吧?好那没问题,那现在呢,我们就来测一下啊,就说我现在想解析一条这样的阶森串,那我这张表我一。
20:00
怎当怎么去设计来吧,咱们就针对于它去设计一下咱这个表的结构啊,那在这儿呢,我为了方便查看,我给他稍微的调整一下啊,这个拿下来,那这个呢,咱们也拿下来好了,那现在呢,俩字段,前面俩字段不用改对吧,是没有问题的啊那接下来我们继续往下走,我们看一看第三个字段应该怎么写,首先字段名是不是就是hob ho by对吧?理也就是这个,这个hob比没有问题对吧?好,关键是它的类型,类型就写啥,是不是就写俄瑞啊对吧,俄瑞后边呢,我们就给它来一个是不是瑞,那就完事了对吧?接着往下走,其他的呢,还有一个a ress address对吧,那这个呢,应该是一个什么类型,应该是一个ru流体对吧?里边呢,我们应该有俩字段,一个是I,一个是什么country对吧?所然后T对吧,然后边应该是什么类型,四肢类型没问题,好第二一个应该是CC对吧,那CD我们也应该是4G类型,没啥问题,来一个冒画来一个S4G好了,那这样一来的话,咱这张表是不是相当于就已经建好了呀,对吧?好,那完成之后我们呃需要给它删一下再重建一。
21:00
啊,在这呢,我们写上一个这个诶,Drop语句drop table if exists,然后呢,谁呀,是不是那个person啊对吧?OK,那现在呢,我们接给它删了,再重新给它创建啊来直接走,然后大家注意啊,我这张表我建的是什么表,我建的是相当于是内部表对吧?内部表是删表文件也会一并删除啊对不对,OK,那接下来呢,我们继续往下走,呃,那现在我需要把这样的一个字符串,是不是重新给它往里边漏一下啊对吧?在这边呢,我们就找到这个102啊然后呢,我们还是打开刚才那个P文件vim,然后再打开P之后呢,这里边就不带要了,然后呢,放上这个新的字符片,然后注意啊,就是我们在往这个文件里边放接S字串的时候呢,一定得保证啊,你这一行得是一个完整的阶层才行,你不能跨行,因为咱们都知道have,它去读读数据,去处理数据,都是一行一行的去做的,对吧,你必须保证一行是一个完整的计算啊,啊没没啥问题,之后呢,我们继续往来走啊呃,那现在呢,我们需要来到这个102,是不是再执行一下这个落贝语了,对吧?啊已经有了,有了之后,那现在呢,我们再来查看一下咱们想要。
22:00
的这个数据啊,呃,那当然这些呢,咱们就不再要了,我们直接执行一个select,呃,然后呢,让咱这个person表对吧?比如说我现在先来一个select的星,我们看能不能正确的查出来啊,谁来星走好,数据有没有出来,诶出来了没啥问题对吧?那比如说在这儿呢,比如说我想获取一下,就是这个人他的第一个爱好是什么?那可以怎么去获取啊,是不是应该是ho,呃,Ho by对吧?Hob比后边来个啥,因为他是一个数组,所以说我们是不是来个下标就行了对吧?走啊,这个没啥问题对吧?那比如说我现在想获取它结构体当中的某一个字段,那是不是就是直接S,应该是找那个谁address对吧?然后点是不是就行,Co t对吧,咱们来获取country,但是注意啊,我直接这么写的话,是不是a address它是报错了呀,对吧,这个大家说一下啊,首先咱们这么写是没有问题的,它之所以报错呢,是因为data gra这个工具,它不支持这样的一个结构题的语法啊,啊是它的问题啊,那这个circle我们直接执行是没有任何问题的,那这一点大家稍微就注意一下啊好了,那这个就是我们这种。
23:00
呃,复杂结构的这个阶层,我们应该如何去解决,就这么解决,很简单啊,行了,完成之后视频我停一下。
我来说两句