Tumgik
#failfaster
ibarrau · 10 months
Text
[Fabric] Entre Archivos y Tablas de Lakehouse - SQL Notebooks
Ya conocemos un panorama de Fabric y por donde empezar. La Data Web nos mostró unos artículos sobre esto. Mientras más veo Fabric más sorprendido estoy sobre la capacidad SaaS y low code que generaron para todas sus estapas de proyecto.
Un ejemplo sobre la sencillez fue copiar datos con Data Factory. En este artículo veremos otro ejemplo para que fanáticos de SQL puedan trabajar en ingeniería de datos o modelado dimensional desde un notebook.
Arquitectura Medallón
Si nunca escuchaste hablar de ella te sugiero que pronto leas. La arquitectura es una metodología que describe una capas de datos que denotan la calidad de los datos almacenados en el lakehouse. Las capas son carpetas jerárquicas que nos permiten determinar un orden en el ciclo de vida del datos y su proceso de transformaciones.
Los términos bronce (sin procesar), plata (validado) y oro (enriquecido/agrupado) describen la calidad de los datos en cada una de estas capas.
Ésta metodología es una referencia o modo de trabajo que puede tener sus variaciones dependiendo del negocio. Por ejemplo, en un escenario sencillo de pocos datos, probablemente no usaríamos gold, sino que luego de dejar validados los datos en silver podríamos construir el modelado dimensional directamente en el paso a "Tablas" de Lakehouse de Fabric.
NOTAS: Recordemos que "Tablas" en Lakehouse es un spark catalog también conocido como Metastore que esta directamente vinculado con SQL Endpoint y un PowerBi Dataset que viene por defecto.
¿Qué son los notebooks de Fabric?
Microsoft los define como: "un elemento de código principal para desarrollar trabajos de Apache Spark y experimentos de aprendizaje automático, es una superficie interactiva basada en web que usan los científicos de datos e ingenieros de datos para escribir un código que se beneficie de visualizaciones enriquecidas y texto en Markdown."
Dicho de manera más sencilla, es un espacio que nos permite ejecutar bloques de código spark que puede ser automatizado. Hoy por hoy es una de las formas más populares para hacer transformaciones y limpieza de datos.
Luego de crear un notebook (dentro de servicio data engineering o data science) podemos abrir en el panel izquierdo un Lakehouse para tener referencia de la estructura en la cual estamos trabajando y el tipo de Spark deseado.
Tumblr media
Spark
Spark se ha convertido en el indiscutible lenguaje de lectura de datos en un lake. Así como SQL lo fue por años sobre un motor de base de datos, ahora Spark lo es para Lakehouse. Lo bueno de spark es que permite usar más de un lenguaje según nuestro comodidad.
Tumblr media
Creo que es inegable que python está ocupando un lugar privilegiado junto a SQL que ha ganado suficiente popularidad como para encontrarse con ingenieros de datos que no conocen SQL pero son increíbles desarrolladores en python. En este artículo quiero enfocarlo en SQL puesto que lo más frecuente de uso es Python y podríamos charlar de SQL para aportar a perfiles más antiguos como DBAs o Data Analysts que trabajaron con herramientas de diseño y Bases de Datos.
Lectura de archivos de Lakehouse con SQL
Lo primero que debemos saber es que para trabajar en comodidad con notebooks, creamos tablas temporales que nacen de un esquema especificado al momento de leer la información. Para el ejemplo veremos dos escenarios, una tabla Customers con un archivo parquet y una tabla Orders que fue particionada por año en distintos archivos parquet según el año.
CREATE OR REPLACE TEMPORARY VIEW Dim_Customers_Temp USING PARQUET OPTIONS ( path "Files/Silver/Customers/*.parquet", header "true", mode "FAILFAST" ) ;
CREATE OR REPLACE TEMPORARY VIEW Orders USING PARQUET OPTIONS ( path "Files/Silver/Orders/Year=*", header "true", mode "FAILFAST" ) ;
Vean como delimitamos la tabla temporal, especificando el formato parquet y una dirección super sencilla de Files. El "*" nos ayuda a leer todos los archivos de una carpeta o inclusive parte del nombre de las carpetas que componen los archivos. Para el caso de orders tengo carpetas "Year=1998" que podemos leerlas juntas reemplazando el año por asterisco. Finalmente, especificamos que tenga cabeceras y falle rápido en caso de un problema.
Consultas y transformaciones
Una vez creada la tabla temporal, podremos ejecutar en la celda de un notebook una consulta como si estuvieramos en un motor de nuestra comodidad como DBeaver.
Tumblr media
Escritura de tablas temporales a las Tablas de Lakehouse
Realizadas las transformaciones, joins y lo que fuera necesario para construir nuestro modelado dimensional, hechos y dimensiones, pasaremos a almacenarlo en "Tablas".
Las transformaciones pueden irse guardando en otras tablas temporales o podemos almacenar el resultado de la consulta directamente sobre Tablas. Por ejemplo, queremos crear una tabla de hechos Orders a partir de Orders y Order details:
CREATE TABLE Fact_Orders USING delta AS SELECT od.*, o.CustomerID, o.EmployeeID, o.OrderDate, o.Freight, o.ShipName FROM OrdersDetails od LEFT JOIN Orders o ON od.OrderID = o.OrderID
Al realizar el Create Table estamos oficialmente almacenando sobre el Spark Catalog. Fíjense el tipo de almacenamiento porque es muy importante que este en DELTA para mejor funcionamiento puesto que es nativo para Fabric.
Resultado
Si nuestro proceso fue correcto, veremos la tabla en la carpeta Tables con una flechita hacia arriba sobre la tabla. Esto significa que la tabla es Delta y todo está en orden. Si hubieramos tenido una complicación, se crearía una carpeta "Undefinied" en Tables la cual impide la lectura de nuevas tablas y transformaciones por SQL Endpoint y Dataset. Mucho cuidado y siempre revisar que todo quede en orden:
Tumblr media
Pensamientos
Así llegamos al final del recorrido donde podemos apreciar lo sencillo que es leer, transformar y almacenar nuestros modelos dimensionales con SQL usando Notebooks en Fabric. Cabe aclarar que es un simple ejemplo sin actualizaciones incrementales pero si con lectura de particiones de tiempo ya creadas por un data engineering en capa Silver.
¿Qué hay de Databricks?
Podemos usar libremente databricks para todo lo que sean notebooks y procesamiento tal cual lo venimos usando. Lo que no tendríamos al trabajar de ésta manera sería la sencillez para leer y escribir tablas sin tener que especificar todo el ABFS y la característica de Data Wrangler. Dependerá del poder de procesamiento que necesitamos para ejecutar el notebooks si nos alcanza con el de Fabric o necesitamos algo particular de mayor potencia. Para más información pueden leer esto: https://learn.microsoft.com/en-us/fabric/onelake/onelake-azure-databricks
Espero que esto los ayude a introducirse en la construcción de modelados dimensionales con clásico SQL en un Lakehouse como alternativa al tradicional Warehouse usando Fabric. Pueden encontrar el notebook completo en mi github que incluye correr una celda en otro lenguaje y construcción de tabla fecha en notebook.
0 notes
warriorenergydrink · 10 months
Text
From a W logo drawn on a napkin to a nationwide sold brand ✨🛡️ Warrior Beverages has taken the business world by storm! 💪💼 Fail fast, fail forward, and watch your progress soar 🚀 Don’t wait, find us on Amazon and warriorbeverages.com today! 🌟
#WarriorBeverages #SuccessStory #Nationwide #AmazonFinds #BusinessGoals #FailFast #FailForward #ProgressMatters #RiseToTheTop #WarriorSpirit #AmazonShopping #DrinkWarrior #BeYourOwnWarrior #BusinessMindset #ShopSmallBusiness #cpgbrand #brand #podcast #news #media
0 notes
clumsysculptor · 5 years
Photo
Tumblr media
Failing faster. #wip #lostwax #handmadejewelry #failfaster https://www.instagram.com/p/B5iNYclltRO/?igshid=wh1x2y9fzvad
1 note · View note
maxyeo · 2 years
Photo
Tumblr media
"Stay Focused, Go After Your Dreams and Keep Moving Forward" - LL Cool J But Remember to Chase 1 Dream at a Time, Not Multiple Dreams at the same time. There is a Time and Place for Everything But Not Everything at the Same Time. Imagine Every Dream is a Race Track by itself, and that there is prize and momentum to be won at the end of each race. How can you finish even one race if you keep hopping onto different race tracks? And by when would you get the reward? Even if You Failed or Suffered a Setback, Fail Forward, Fail Faster to Recover and Resume Faster. #StayFocused #Focus #Focused #FocusedOnMyGoals #FocusOnYourself #OneGoalAtATime #GoForYourDreams #Prioritize #Priorities #Priority #FirstThingsFirst #Failure #Fail #Failing #FailingForward #FailForward #FailFaster #MultiTasking #EyesOnThePrize #OneTrackMind #Faster #Dreams #MovingForward #KeepMovingForward #KeepGoing #KeepGoingForward #Forward #NeverGiveUp https://www.instagram.com/p/Cfg-C7HpQA8/?igshid=NGJjMDIxMWI=
0 notes
jfellrath · 3 years
Photo
Tumblr media
@brucelee and @morningcoach both use the term "fail faster!" Gotta love when your mentors agree not only on ideas, but even in the way they describe things! 🧠 #success #failfaster #personalevolution #personaldevelopment #personalgrowth #bewatermyfriend @therealshannonlee https://www.instagram.com/p/CWYH5FKIvS1/?utm_medium=tumblr
0 notes
Photo
Tumblr media
You may have been holding back a bit too long. Time to step out and test the waters! #NoLimits #NoBorders #NonStop #FailFaster #CarpeDiem #MondayMotivation (at Aguadilla, Puerto Rico) https://www.instagram.com/p/CKeGTW4D3OY/?igshid=1qf3anxddkn93
0 notes
jason-crawford · 7 years
Text
Failure, it’s okay.
Tumblr media
Being a student is hard, you don’t know your place in the industry, you don’t know what will happen in the future, you don’t really know how to program that game or create that art piece and you don’t know where this industry is going. It’s okay though because you're not the only one that feels this way.
That was a lot of assumptions and I apologize for that but in the grand scheme of things I’m sure we can all relate to something like those points once in our lives. It’s a scary thing but that’s okay. Because being a student is the best time to allow yourself to fail and learn from it.
Something I noticed at GCAP17 in most of the talks I attended not their main focus but mentioned in one way or another was don’t be afraid to fail. The more you fail, the quicker you’ll learn to adapt to situations or know not to do it that way again. Failing and learning is how we grow as individuals and how the industry will keep on growing.
So without further ado I would like you to stop thinking of yourself as a student. I feel it may be used as a word to provide a shield that covers up the fact if you make a bad game or fail at code, that it’s okay because you’re not a ‘professional’. But it’s time to embrace those failed creations or situations to learn from it, just like the ‘professionals’ do.
I would like you to ask these next questions out loud to yourself.
Have you made a game?
Have you made assets for a game?
Have you coded for a game?
Have you written a narrative for a game?
Have you worked on a game as a producer?
Have you done quality assurance on a game?
If you answered yes to any of those Questions, your a Game Developer.
Congratulations, you have leveled up!
Tumblr media
The main point of this post is to explain to you that it’s okay to allow yourself to fail because everyone does and also to accept that you’re a game developer even when you’re not creating your best work or failing daily. Just because you may be a student doesn’t mean once you graduate you never fail again, it would be a dream of course but then what would be the challenge of creating games.
So if you can bare reading anymore, I’d like you to reread the first two paragraph in this post but replace the word ‘student’ with Game Developer, you may find yourself relating to this more closely.
My experience in failing:
Currently I am in the process of acting as the role of producer in our final year projects at AIE. It has been a pleasure so far, extremely challenging and stressful at times but enjoyable for the most part. I’ve failed many times during this project, from over scoping, balancing the workload throughout the team and not keeping on top of task tracking. Every time I have failed (Yes, I get annoyed at myself but that's only human) I look at the issue and try to resolve it and then sometimes that even fails,  in the end I know I will eventually fix the issue and learn from it.
“Failure and iteration” is always going to be there in the future and it’s always going to be something that needs to happen for myself to learn, adapt and become a better problem solver in the future, so I’ve begun to embrace it a lot more throughout the last year and will carry it into my future.
13 notes · View notes
theramirezteam · 5 years
Photo
Tumblr media
Love this! 😂🤣😅 #failoften #failfaster #failforward #keepgrowing #pursueexcellence https://www.instagram.com/p/B9jUb-Slp1M/?igshid=1l9o2ht8nqzwt
0 notes
anujjasani · 5 years
Photo
Tumblr media
“The way get started is to quit talking and begin doing.” #startdoing #getstarted #starttoday #takeactions #failmore #failfaster #getbackup #achivewhatyoudesire #liveyourdream #anujjasani #jasani #anuj #jasanijasani #ceojasani #asktojasani #livingmydream #legendsoftomorrow 📣 START NOW! 📣 (at Ahmedabad, India) https://www.instagram.com/p/B3Z2Hl3l_7h/?igshid=q8273d1u8vdm
0 notes
andreastenberg · 5 years
Photo
Tumblr media
I used to tell myself “failure is not an option.” I even wrote it on a sign I posted above my desk.⁣ ⁣ But Seth Godin is right … if failure is not an option, then neither is success.⁣ ⁣ In order to succeed you need to take risks. You need to step outside your comfort zone. You need to try new things.⁣ ⁣ You need to risk failing.⁣ ⁣ If failure is not an option, you start playing it safe. You stop playing to win and start playing not to lose.⁣ ⁣ Another consequence of “failure is not an option” is if you do fail, you feel like a failure.⁣🤦‍♀️ ⁣ In the past, if I didn’t hit my goal (even if I came close) it would paralyse me. I would stop taking action. I’d wallow.⁣ ⁣ It slowed my growth.⁣ ⁣ Now that I’m embracing a “fail faster” mentality, if I don’t hit my goal I celebrate the progress I did make🍾, and look at what I can learn from the “failure” to do it better next time. ⁣ ⁣ How about you? Is failure an option?⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ ⁣ #setgodinquote #sethgodin #mindsetquotes #motivationalquotes #successquote #bossbabequotes #businesswisdom #marketingquotes #mindsetiseverything #successfulmindset #mindsetchange #changeyourthoughts #focusonthepositive #positiveselftalk #faceyourfears #failurequotes #failureisnotfatal #failureisnotanoption #failfaster #thinkbigger #achieveyourdreams #buildyourdream #richchicksociety #workfromanywhere #womenwithambition #mompreneurlife #mominfluencer #seniorpreneurs (at Danforth and Victoria Park) https://www.instagram.com/p/B3UkDhWFmDN/?igshid=1wdr8425jgc0v
0 notes
jaimevizcarrondo · 5 years
Photo
Tumblr media
Straight from the founder of Honda Motor Company. Persistence, vision, and being "impatiently patient". #failfaster #energy #getsome #getafterit #LetsGo #pushforward #resolve #tenacity #intensity #indomitablespirit #determination #persistence #purpose #strength #focus #character #commitment #impact #goals #driven #sticktoyourguns #singlestep #goforward #NeverStandStill https://www.instagram.com/p/B0p50-gnB6F/?igshid=1jiur6s0rb249
0 notes
clumsysculptor · 5 years
Photo
Tumblr media
Ah Ha! Eleven designs in I come across something I really love! Individual shelf fungi on stacking rings! You can load your finger up with a whole library of them or just a single fungus to feel quirky. I'm glad I have something to show for today's mess in my workspace! #wip #eureka #fungus #fungijewelry #fungusjewelry #mushroomjewelry #mushroom #lostwax #experimentation #failfaster https://www.instagram.com/p/B5jBktUl3ME/?igshid=1d4bnignsnx94
0 notes
maxyeo · 3 years
Photo
Tumblr media
While there will always be people in front of you and behind You. Sometimes there is Only 1 Opportunity, and Winner Takes All. 𝗢𝘃𝗲𝗿𝘁𝗮𝗸𝗲 𝗼𝗿 𝗕𝗲 𝗢𝘃𝗲𝗿𝘁𝗼𝗼𝗸. That's the Game. You Win or You Learn. 𝗟𝗲𝗮𝗿𝗻 𝗙𝗮𝘀𝘁 + 𝗗𝗼 𝗙𝗮𝘀𝘁 + 𝗙𝗮𝗶𝗹 𝗙𝗮𝘀𝘁 + 𝗜𝗺𝗽𝗿𝗼𝘃𝗲 𝗙𝗮𝘀𝘁 = 𝗦𝘂𝗰𝗰𝗲𝗲𝗱 𝗙𝗮𝘀𝘁 And Money Loves Speed (If You are Interested...) 😃 #TheOnlyWay #TheOnlyWayIsThrough #TheOnlyWayIsUp #Success #Succeed #Learn #LearnFast #Learning #LearnFaster #BeFaster #FailFast #FailFaster #SucceedFaster #TheRace #WinnerTakesAll #OneOpportunity #Overtake #Outwit #Outlast #Outplay #Outsmart #Winning #Losing #YouWinOrYouLearn #TakeAction #TakeActionToday #TakeActionNow #LearnFromYourMistakes #Improve #Speed https://www.instagram.com/p/CaM_9xzpDlu/?utm_medium=tumblr
0 notes
brianpla · 5 years
Photo
Tumblr media
It's a new day! New opportunities at every turn, if you choose to "see the forest for the trees." #loveyourself #takeaction #neverquit #failfaster #learnfaster #removethetoxic #forgetyesterday #beingpresentinthemoment (at Miami, Florida) https://www.instagram.com/p/BzNkXkAHGpa/?igshid=9r2hildayknz
0 notes
megatron-vm · 7 years
Link
Firelink crew!
Realizing that drawing characters from memory and drawing them on model are two different things... But still, not sure if Dan “sucks at Dark Souls” anymore.
10 notes · View notes
webb859 · 6 years
Photo
Tumblr media
This scenario literally happened today, so I did a quick sketch before bed. I've been so lazy over the years watching videos or reading articles about improving my writing, drawing, videos, and even gaming, but would never actually apply what I was learning. Five minutes later, forget what I discovered. This month, I've decided to get back into everything I've been putting off due to fear of failure. Thanks to Will Schoder for today's inspiration. #dailysketch #procrastination #inspiration #failfaster #feynmantechnique #memory https://www.instagram.com/p/Bu5IscHgjsZ/?utm_source=ig_tumblr_share&igshid=vzjxtz0xvj56
0 notes