Convergence between a data lake and data warehouse is not just in talks but in reality. “Convergence is happening from both sides. The data warehouse vendors are gradually moving from their existing model to the convergence of the data warehouse and data lake model. Similarly, the vendors who started their journey on the data lake-side are now expanding into the data warehouse space.”
The gap is going to narrow down between these two platforms this year. Qubole is thinking in that direction where most of the problems we try to decipher can be solved by the data warehouse. The data lake is going to be the superset that can decipher all data warehouses problems along with more capabilities.”
#big_data
The gap is going to narrow down between these two platforms this year. Qubole is thinking in that direction where most of the problems we try to decipher can be solved by the data warehouse. The data lake is going to be the superset that can decipher all data warehouses problems along with more capabilities.”
#big_data
Qubole
Is Data Lake and Data Warehouse Convergence a Reality? | Qubole
In this blog Debanjan Saha, VP and GM of Data Analytics services at Google Cloud, shares his views on the data lake and how it compares and contrasts with data warehousing.
The blog narrates how the underlying data infrastructure influences the ML development in line with the recent trends on "Reverse ETL" and the modern cloud-native data stack. The blog also reiterates we are still in the early stages of MLOps, Data Quality tooling, and unified data architecture on the path to industrialization ML development.
https://medium.com/validio/ml-data-trends-wrapping-up-2020-and-looking-into-2021-beyond-b3ff1eadc211
#ml
https://medium.com/validio/ml-data-trends-wrapping-up-2020-and-looking-into-2021-beyond-b3ff1eadc211
#ml
Medium
ML & Data Trends: Wrapping up 2020 and looking into 2021 & beyond
2020 brought a digitalization explosion across the world. Microsoft estimates that the first two months of the pandemic (March & April)…
Apache Airflow published the 2020 Airflow survey results:
🔸 13.79 adoption of the general developer community outside the data engineers.
🔸 85% of people using Airflow like/ very likely recommends Airflow.
🔸 Airflow local executor popular than the Kubernetes executor
🔸 Slack & Github is a go-to place for technical questions, 2X higher than StackOverflow
#big_data
🔸 13.79 adoption of the general developer community outside the data engineers.
🔸 85% of people using Airflow like/ very likely recommends Airflow.
🔸 Airflow local executor popular than the Kubernetes executor
🔸 Slack & Github is a go-to place for technical questions, 2X higher than StackOverflow
#big_data
Apache Airflow
Airflow Survey 2020
We observe steady growth in number of users as well as in an amount of active contributors. So listening and understanding our community is of high importance.
Most of the major roadblocks I ran into were not technical, they were communicative. Sure, there were always technical challenges but that’s the role of an engineer, to fix the technical challenges. Never underestimate the importance of communication, internal and external. There’s nothing worse than solving a technical challenge when it was the wrong technical challenge to be solved.
#soft_skills
#soft_skills
And this week we're gonna talk about a hobby project Van Rossum did over Christmas break 1989. Yep, it's Python. Again, nothing specific, just some rambling about the topic, should be interesting though.
There is a common misconception that GIL was invented to protect developers from problems with concurrent access to data. But this is not true.
GIL, of course, will prevent you from parallelizing an application using threads (but not processes). Simply put, GIL is a lock that must be taken before any access to Python (not that important if Python code is executing or calls using Python C API). Therefore, GIL will protect internal structures from non-consistent states, but you will have to use synchronization primitives like in any other language.
#python
GIL, of course, will prevent you from parallelizing an application using threads (but not processes). Simply put, GIL is a lock that must be taken before any access to Python (not that important if Python code is executing or calls using Python C API). Therefore, GIL will protect internal structures from non-consistent states, but you will have to use synchronization primitives like in any other language.
#python
The popular method to declare an abstract method in Python is to use
Though it's pretty popular and even has IDE support (Pycharm considers such a method to be abstract) this approach has a downside. You get the error only upon method call, not upon class instantiation.
Use
#python
NotImplentedError exception:def func(self):
raise NotImplementedError
Though it's pretty popular and even has IDE support (Pycharm considers such a method to be abstract) this approach has a downside. You get the error only upon method call, not upon class instantiation.
Use
abc module to avoid this problem:from abc import ABCMeta, abstractmethod
class Service(metaclass=ABCMeta):
@abstractmethod
def func(self):
pass
#python
In Python if there are no references to the object, it is destroyed immediately, instead of waiting for garbage collection. GC is needed for complicated cases when we have cyclic references.
#python
#python
The list may contain itself. Python detects this and does not loop in the output.
#python
>>> a = []
>>> a.append(a)
>>> a
[[...]]
#python
Python doesn't have tail recursion optimization, not because Guido couldn't handle it, but because he doesn't want to overcomplicate things.
If you really want to, you can implement a Y-combinator with optimization and use it.
#python
If you really want to, you can implement a Y-combinator with optimization and use it.
#python
Just like tail recursion in Python, Guido wanted to avoid getting lambda functions in the language. The lambda function is just sort of syntactic sugar. It creates an unnamed function - that's literally it. There is no magic to it.
Those two are equivalent:
#python
Those two are equivalent:
foo = lambda x: x * 2We all know the lambda functions were introduced in the language, but there was a long fight behind it, which Guido did not win. Lambda still exists because it is extremely convenient and nothing else.
def foo(x):
return x * 2
foo.__qualname__ = '<lambda>'
#python
A function can have two returns called. For example:
2 will be returned here.
#python
def foo():
try:
return 1
finally:
return 2
2 will be returned here.
#python
There are compilers for Python code. And not only JIT ones like Numba, but also ordinary ones. For example, Cython, Nuitka that compiles your Python code into true machine instructions rather than interpreted.
Why?
Basically for the sake of both performance gains and a more portable runtime. So basically it's for the guys who shouldn't use Python in the first place.
#python
Why?
Basically for the sake of both performance gains and a more portable runtime. So basically it's for the guys who shouldn't use Python in the first place.
#python
Remember I told you about numbers from -5 to 255 interned. That is, the numbers are preliminary placed and cached in memory. So, there is more to it.
You can access this memory if you want and change value. Say, change literal 4 to value 5. I'll probably be damned by many people for this post, but here is a sample code:
P.S. Try to replace 0 with 1
#python
You can access this memory if you want and change value. Say, change literal 4 to value 5. I'll probably be damned by many people for this post, but here is a sample code:
>>> import ctypes
>>> ctypes.memmove(id(4) + 24, id(5) + 24, 8)
>>> print(2 * 2) # 5
Have fun debugging!P.S. Try to replace 0 with 1
#python
Telegram
L̶u̵m̶i̵n̷o̴u̶s̶m̶e̵n̵B̶l̵o̵g̵
Perhaps not every Python developer knows the interesting property of the CPython that makes newcomers go crazy:
>>> a = 255
>>> b = 255
>>> a == b
True
>>> a is b
True
The double equal operator checks that the objects values are equal and the is operator…
>>> a = 255
>>> b = 255
>>> a == b
True
>>> a is b
True
The double equal operator checks that the objects values are equal and the is operator…
Let's talk about a couple of core concepts in data space and how they relate to each other and how they started.
⚡️ACID vs BASE: Comparison of two Design Philosophies
⚡️CAP and PACELC theorems in plain English
⚡️ACID vs BASE: Comparison of two Design Philosophies
⚡️CAP and PACELC theorems in plain English
Blog | iamluminousmen
ACID vs BASE: Comparison of two Design Philosophies
Discover the differences between ACID and BASE design philosophies - from strong consistency to eventual consistency. Find out which suits your project better!